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({0.game_id}, {0.start_dt}, {0.game_type_cd}, {0.server_id})>".format(self))
+ 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):
"""
'weapon_cd': self.weapon_cd,
'name': self.descr,
'active': self.active_ind,
- }
\ No newline at end of file
+ }
+
+
+class PlayerGameFragMatrix(object):
+ """
+ Frags made by an individual player in a single game.
+ """
+
+ def __init__(self, game_id, player_game_stat_id, player_id, player_index, matrix):
+ self.game_id = game_id
+ self.player_game_stat_id = player_game_stat_id
+ self.player_id = player_id
+ self.player_index = player_index
+ self.matrix = matrix
+
+ def __repr__(self):
+ return "<PlayerGameFragMatrix({0.game_id}, {0.player_game_stat_id})>".format(self)