The constructor takes a query row that has been fetched, and
it requires the following columns to be present in the row:
- game_id, game_type_cd, winner, create_dt, server_id, server_name,
+ game_id, game_type_cd, winner, start_dt, server_id, server_name,
map_id, map_name, player_id, nick, rank, team
The following columns are optional:
self.game_id = row.game_id
self.game_type_cd = row.game_type_cd
self.winner = row.winner
- self.create_dt = row.create_dt
- self.fuzzy_date = pretty_date(row.create_dt)
- self.epoch = timegm(row.create_dt.timetuple())
+ self.start_dt = row.start_dt
+ self.fuzzy_date = pretty_date(row.start_dt)
+ self.epoch = timegm(row.start_dt.timetuple())
self.server_id = row.server_id
self.server_name = row.server_name
self.map_id = row.map_id
except:
self.elo_delta = None
+ def _asdict(self):
+ return {
+ "game_id": self.game_id,
+ "game_type_cd": self.game_type_cd,
+ "winner": self.winner,
+ "start_dt": self.start_dt,
+ "fuzzy_dt": self.fuzzy_date,
+ "epoch": self.epoch,
+ "server_id": self.server_id,
+ "server_name": self.server_name,
+ "map_id": self.map_id,
+ "map_name": self.map_name,
+ "player_id": self.player_id,
+ "nick": self.nick,
+ "nick_html_colors": self.nick_html_colors,
+ "rank": self.rank,
+ "team": self.team,
+ "elo_delta": self.elo_delta,
+ }
+
+ def __repr__(self):
+ return "<RecentGame(id=%s, gametype=%s, server=%s, map=%s)>" % (self.game_id, self.game_type_cd, self.server_name, self.map_name)
+
def recent_games_q(server_id=None, map_id=None, player_id=None, cutoff=None):
'''
cutoff (which is a datetime object) will be returned.
'''
recent_games_q = DBSession.query(Game.game_id, Game.game_type_cd,
- Game.winner, Game.create_dt, Server.server_id,
+ Game.winner, Game.start_dt, Server.server_id,
Server.name.label('server_name'), Map.map_id,
Map.name.label('map_name'), PlayerGameStat.player_id,
PlayerGameStat.nick, PlayerGameStat.rank, PlayerGameStat.team,
filter(Game.server_id==Server.server_id).\
filter(Game.map_id==Map.map_id).\
filter(Game.game_id==PlayerGameStat.game_id).\
- order_by(expr.desc(Game.create_dt))
+ order_by(expr.desc(Game.game_id))
# the various filters provided get tacked on to the query
if server_id is not None: