#!/usr/bin/env python
# needs dev-python/matplotlib
# Copyright Mike Doty <kingtaco@gentoo.org> GPL-2

from pylab import *
from pprint import *
import datetime
from pytz import timezone

dates=[]
times=[]
Vin=[]
Vout=[]


#07/13/2006,05:59:53,114,114,0272,60.0,60.0,026,-02,0x01000000

def parse_file(name):
    global dates,times,Vin,Vout
    f=file(name,"r")
    for line in f:
        try:
            (date,time,vin,vout,garbage) = line.split(',',4)
        except:
            pass
        (m,d,y)=date.split('/',2)
        (hour,minute,second)=time.split(':',2)
        Vin.append(int(vin))
        Vout.append(int(vout))
        dates.append(datetime.datetime(year=int(y), month=int(m), day=int(d),hour=int(hour),minute=int(minute),second=int(second)))
        
    
if __name__ == "__main__":
    parse_file(sys.argv[1])
    plot_date(date2num(dates),Vin,fmt='r-',tz=timezone('UTC'))
    plot_date(date2num(dates),Vout,'b-',tz=timezone('UTC'))
    months=HourLocator()
    fmt=DateFormatter('%H')
    ax=gca()
    ax.xaxis.set_major_locator(months)
    ax.xaxis.set_major_formatter(fmt)
    legend(('Voltage In', 'Voltage Out'))
    show()
    
