]> git.xonotic.org Git - xonotic/xonstat.git/blobdiff - xonstat/models/game.py
If no frag matrix row is found, show zeros.
[xonotic/xonstat.git] / xonstat / models / game.py
index d221cec3a56990a89c6e69a655cb16efe152eff7..8d6640e39d09681778f2f72f2c3b6ff7de4774b1 100644 (file)
@@ -2,18 +2,17 @@
 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
@@ -22,7 +21,7 @@ class Game(object):
         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 {
@@ -32,12 +31,6 @@ class Game(object):
             '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):
     """
@@ -198,4 +191,20 @@ class Weapon(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)