From 52ee888778b212e139501c515b9bc46f0b0aa28b Mon Sep 17 00:00:00 2001 From: Ant Zucaro Date: Tue, 4 Oct 2011 10:06:47 -0400 Subject: [PATCH] Fixes on when to create players. --- xonstat/models.py | 10 ++++++++-- xonstat/views/submission.py | 28 ++++++++++++++-------------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/xonstat/models.py b/xonstat/models.py index 2ed0f6e..27d50d8 100755 --- a/xonstat/models.py +++ b/xonstat/models.py @@ -94,10 +94,16 @@ class PlayerGameStat(object): % (self.player_id, self.game_id, self.create_dt, self.stat_type) def nick_stripped(self): - return strip_colors(self.nick) + if self.nick is None: + return "Anonymous Player" + else: + return strip_colors(self.nick) def nick_html_colors(self): - return html_colors(self.nick) + if self.nick is None: + return "Anonymous Player" + else: + return html_colors(self.nick) def team_html_color(self): # blue diff --git a/xonstat/views/submission.py b/xonstat/views/submission.py index 847a643..7102fee 100755 --- a/xonstat/views/submission.py +++ b/xonstat/views/submission.py @@ -301,16 +301,14 @@ def create_player_stats(session=None, player=None, game=None, """ Creates player game and weapon stats according to what type of player """ - # remove 'joins' from here even though it should be required - if 'matches' in player_events and 'scoreboardvalid' in player_events: - pgstat = create_player_game_stat(session=session, - player=player, game=game, player_events=player_events) - - #TODO: put this into a config setting in the ini file? - if not re.search('^bot#\d+$', player_events['P']): - create_player_weapon_stats(session=session, - player=player, game=game, pgstat=pgstat, - player_events=player_events) + pgstat = create_player_game_stat(session=session, + player=player, game=game, player_events=player_events) + + #TODO: put this into a config setting in the ini file? + if not re.search('^bot#\d+$', player_events['P']): + create_player_weapon_stats(session=session, + player=player, game=game, pgstat=pgstat, + player_events=player_events) def stats_submit(request): @@ -367,11 +365,13 @@ def stats_submit(request): else: nick = None - player = get_or_create_player(session=session, + if 'matches' in player_events and 'scoreboardvalid' \ + in player_events: + player = get_or_create_player(session=session, hashkey=player_events['P'], nick=nick) - log.debug('Creating stats for %s' % player_events['P']) - create_player_stats(session=session, player=player, game=game, - player_events=player_events) + log.debug('Creating stats for %s' % player_events['P']) + create_player_stats(session=session, player=player, game=game, + player_events=player_events) session.commit() log.debug('Success! Stats recorded.') -- 2.39.2