Mercurial > vixm
view vixm/stats.py @ 46:2d570448aba5 pure
Abstract out the stats code a little bit more
This is in preparation for moving the stats code completely out of player
code
author | Josef "Jeff" Sipek <jeffpc@josefsipek.net> |
---|---|
date | Mon, 06 Nov 2006 05:19:23 -0500 |
parents | bc6db55448e1 |
children |
line wrap: on
line source
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 playing(self, s): self.__current = s 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()