From 53ba647239938780a8c04f39583a697837877c56 Mon Sep 17 00:00:00 2001 From: Ant Zucaro Date: Sat, 14 Jan 2012 10:40:56 -0500 Subject: [PATCH] Should be ready to go now! --- xonstat/models.py | 2 -- xonstat/views/submission.py | 21 ++++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/xonstat/models.py b/xonstat/models.py index b320158..c3a8011 100755 --- a/xonstat/models.py +++ b/xonstat/models.py @@ -171,8 +171,6 @@ class Game(object): adjustment = scorefactor_real - scorefactor_elo eloadjust[ei.player_id] += adjustment eloadjust[ej.player_id] -= adjustment - log.debug("elo adjustment values:") - log.debug(eloadjust) for pid in pids: elos[pid].elo = max(float(elos[pid].elo) + eloadjust[pid] * elos[pid].k * ep.global_K / float(len(elos) - 1), ep.floor) elos[pid].games += 1 diff --git a/xonstat/views/submission.py b/xonstat/views/submission.py index ec0f57b..7f011fb 100755 --- a/xonstat/views/submission.py +++ b/xonstat/views/submission.py @@ -275,7 +275,7 @@ def create_game(session=None, start_dt=None, game_type_cd=None, filter(Game.match_id==match_id).one() # if a game under the same server and match_id found, # this is a duplicate game and can be ignored - raise pyramid.httpexceptions.HTTPOk + raise pyramid.httpexceptions.HTTPOk('OK') except NoResultFound, e: # server_id/match_id combination not found. game is ok to insert session.add(game) @@ -544,9 +544,9 @@ def stats_submit(request): "----- END REQUEST BODY -----\n\n") (idfp, status) = verify_request(request) - #if not idfp: - #log.debug("ERROR: Unverified request") - #raise pyramid.httpexceptions.HTTPUnauthorized("Unverified request") + if not idfp: + log.debug("ERROR: Unverified request") + raise pyramid.httpexceptions.HTTPUnauthorized("Unverified request") (game_meta, players) = parse_body(request) @@ -562,9 +562,9 @@ def stats_submit(request): log.debug("ERROR: Not enough real players") raise pyramid.httpexceptions.HTTPOk("OK") - #if is_blank_game(players): - #log.debug("ERROR: Blank game") - #raise pyramid.httpexceptions.HTTPOk("OK") + if is_blank_game(players): + log.debug("ERROR: Blank game") + raise pyramid.httpexceptions.HTTPOk("OK") # FIXME: if we have two players and game type is 'dm', # change this into a 'duel' gametype. This should be @@ -606,11 +606,14 @@ def stats_submit(request): player_events=player_events) # update elos - game.process_elos(session) + try: + game.process_elos(session) + except Exception as e: + log.debug('Error (non-fatal): elo processing failed.') session.commit() log.debug('Success! Stats recorded.') return Response('200 OK') except Exception as e: session.rollback() - raise e + return e -- 2.39.2