Models related to games.
"""
-from calendar import timegm
+from xonstat.models.mixins import FuzzyDateMixin, EpochMixin
+from xonstat.util import strip_colors, html_colors
-from xonstat.util import pretty_date, strip_colors, html_colors
-
-class Game(object):
+class Game(FuzzyDateMixin, EpochMixin):
"""
An individual game.
"""
- def __init__(self, game_id=None, start_dt=None, game_type_cd=None,
- server_id=None, map_id=None, winner=None):
+ def __init__(self, game_id=None, start_dt=None, game_type_cd=None, server_id=None, map_id=None,
+ winner=None):
self.game_id = game_id
self.start_dt = start_dt
self.game_type_cd = game_type_cd
self.winner = winner
def __repr__(self):
- return ("<Game({}, {}, {}, {})>"
- .format(self.game_id, self.start_dt, self.game_type_cd, self.server_id))
+ return "<Game({0.game_id}, {0.start_dt}, {0.game_type_cd}, {0.server_id})>".format(self)
def to_dict(self):
return {
'server_id': self.server_id
}
- def fuzzy_date(self):
- return pretty_date(self.start_dt)
-
- def epoch(self):
- return timegm(self.start_dt.timetuple())
-
class PlayerGameStat(object):
"""
self.create_dt = create_dt
def __repr__(self):
- return "<PlayerGameStat({}, {}, {})>".format(self.player_id, self.game_id, self.create_dt)
+ return "<PlayerGameStat({0.player_id}, {0.game_id}, {0.create_dt})>".format(self)
def to_dict(self):
return {
self.frags = 0
def __repr__(self):
- return ("<PlayerWeaponStat({}, {}, {})>"
- .format(self.player_weapon_stats_id, self.player_id, self.game_id))
+ return ("<PlayerWeaponStat({0.player_weapon_stats_id}, {0.player_id}, {0.game_id})>"
+ .format(self))
def to_dict(self):
return {
self.create_dt = create_dt
def __repr__(self):
- return "<TeamGameStat({}, {}, {})>".format(self.team_game_stat_id, self.game_id, self.team)
+ return "<TeamGameStat({0.team_game_stat_id}, {0.game_id}, {0.team})>".format(self)
def to_dict(self):
return {
self.create_dt = create_dt
def __repr__(self):
- return "<PlayerGameAnticheat({}, {})>".format(self.key, self.value)
+ return "<PlayerGameAnticheat({0.key}, {0.value})>".format(self)
class GameType(object):
"""
def __repr__(self):
- return "<GameType({}, {}, {})>".format(self.game_type_cd, self.descr, self.active_ind)
+ return "<GameType({0.game_type_cd}, {0.descr}, {0.active_ind})>".format(self)
def to_dict(self):
return {
"""
def __repr__(self):
- return "<Weapon({}, {}, {})>".format(self.weapon_cd, self.descr, self.active_ind)
+ return "<Weapon({0.weapon_cd}, {0.descr}, {0.active_ind})>".format(self)
def to_dict(self):
return {