Mercurial > vixm
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vixm/stats.py Sun Nov 05 19:25:30 2006 -0500 @@ -0,0 +1,35 @@ +NEW_SONGS_SYNC = 2 + +class statsengine: + def __init__(self, statsfile): + self.__fname = statsfile + try: + self.__stats = eval(open(statsfile, "r").read()) + except: + self.__stats = {} + self.__new_songs = 0 + + self.current = None + + def __del__(self): + self.sync() + + def sync(self): + f = open(self.__fname, "w") + f.write(repr(self.__stats)) + f.close() + + self.__new_songs = 0 + + def played(self): + s = str(self.current) + + if not self.__stats.has_key(s): + self.__stats[s] = 0 + + self.__stats[s] += 1 + + self.__new_songs += 1 + if self.__new_songs >= NEW_SONGS_SYNC: + self.sync() +