comparison vixm/stats.py @ 42:bc6db55448e1 pure

statistics engine
author Josef "Jeff" Sipek <jeffpc@josefsipek.net>
date Sun, 05 Nov 2006 19:25:30 -0500
parents
children 2d570448aba5
comparison
equal deleted inserted replaced
41:f56aeafb05b1 42:bc6db55448e1
1 NEW_SONGS_SYNC = 2
2
3 class statsengine:
4 def __init__(self, statsfile):
5 self.__fname = statsfile
6 try:
7 self.__stats = eval(open(statsfile, "r").read())
8 except:
9 self.__stats = {}
10 self.__new_songs = 0
11
12 self.current = None
13
14 def __del__(self):
15 self.sync()
16
17 def sync(self):
18 f = open(self.__fname, "w")
19 f.write(repr(self.__stats))
20 f.close()
21
22 self.__new_songs = 0
23
24 def played(self):
25 s = str(self.current)
26
27 if not self.__stats.has_key(s):
28 self.__stats[s] = 0
29
30 self.__stats[s] += 1
31
32 self.__new_songs += 1
33 if self.__new_songs >= NEW_SONGS_SYNC:
34 self.sync()
35