Mercurial > vixm
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 |