5 """ globalizes and initializes the variables """
9 global batanimload, batstateF
10 global lpart1, lpart2, l
12 global lastfull, acc, lvar, tvar, batlabel,state
15 msg = szstoolbox.MSG()
16 xtra = szstoolbox.XTRA()
17 cfg = szstoolbox.CFG('battery')
18 cfgG = szstoolbox.CFG('global')
20 batstateF = cfg.read('batstate').strip()
21 batinfoF = cfg.read('batinfo').strip()
22 batanimload = int(cfg.read('animbatload').strip())
23 batlabel = cfg.read('label').strip()
24 lvar = int(cfg.read('lvar').strip())
25 tvar = int(cfg.read('tvar').strip())
26 acc = int(cfgG.read('accuracy').strip())
27 batstateF = open(batstateF,'r')
28 batinfoF = open(batinfoF,'r')
31 infoLn = batinfoF.readlines()
33 line = line.split(':')
34 part1 = line[0].strip()
35 part2 = line[1].strip()
36 if part1 == 'last full capacity':
37 lastfull = part2[:part2.find(' ')]
44 """ main function... returns a list with a string like
45 "/65\" or "\BAT LOW/" and an integer like 65 that
46 shows procentual state of your battery """
61 stateLn = batstateF.readlines()
66 line = line.split(':')
67 part1 = line[0].strip()
68 part2 = line[1].strip()
69 if part1 == 'present' and part2 == 'no':
70 msg.debug('Battery not present',2)
73 elif part1 == 'charging state' and part2 == 'discharging':
75 msg.debug('Battery is discharging',3)
77 elif part1 == 'charging state' and part2 == 'charging':
79 msg.debug('Battery is charging',3)
81 elif part1 == 'charging state' and part2 == 'unknown':
83 msg.debug('Battery seems full (charging state is unknown)',3)
85 elif part1 == 'remaining capacity':
87 remain = part2[:part2.find(' ')]
88 remain = float(remain)*100/float(lastfull)
89 remain = str(round(remain,acc))
90 remain = remain[:remain.find('.')+3]+'%'
97 ls = ' ('+remainold+str(state)+')'
99 ls = ' ('+remainold+'/'+remain+')'
101 ls = ' ('+remain+str(state)+')'
112 ts = remainold+'|'+remain
119 bar = '!'+remain+'%'+batlabel+ls
121 bar = '!'+z+'%'+batlabel+ls
123 if state == '+' and tvar >= 0:
124 return ['/'+ts+'\\',bar]
125 elif state == '-' and tvar >= 0:
126 return ['\\'+ts+'/',bar]
127 elif state == '#' or tvar < 0:
132 print 'Undefined state: "'+str(state)+'"'
137 if __name__ == '__main__':
138 """ helps to debug the script """
141 from time import sleep
148 print '----------------------'
149 print 'Length:\t'+str(len(x))
150 print 'Text:\t"'+x[0]+'"'
152 print 'Bars:\t"'+x[1]+'"'
153 print '----------------------'
157 print '----------------------'
158 print 'Length:\t'+str(len(x))
159 print 'Text:\t"'+x[0]+'"'
160 print 'Bars:\t"'+x[1]+'"'
161 print '----------------------'