#!/bin/env python # Copyright (C) 2009, Brent Chiodo import commands import time import dbus, dbus.service def average(list): total = 0 count = 0 for each in list: count = count + 1 total = total + float(each) return total / count date_stamp = commands.getoutput('date +"%-m-%-d-%-Y"' + '.csv') cycle = 0 battery_log = [] commands.getoutput("mkdir pybattery_logs/") while(cycle < 480): add_time = commands.getoutput('date +"%l:%M %p"') battery_level = commands.getoutput('sudo ./check_retu 8 9') battery_log.append(battery_level) if len(battery_log) > 120: del battery_log[0] logfile = open('pybattery_logs/' + date_stamp, 'a') logfile.write('"%s","%s"\n' % (add_time, battery_level)) logfile.close() if len(battery_log) < 11: battery_average = average(battery_log) else: battery_average = average(battery_log[-10:-1]) if ((battery_average - 300) / 200 > 1): print "Battery: 100%" else: print "Battery: %.1f%s" % ((((battery_average - 300) / 200) * 100), '%') cycle + 1 print battery_log[-1] time.sleep(60)