From c9796fca8e8c7d8a73bf86c4833e30d0ce222178 Mon Sep 17 00:00:00 2001 From: Ant Zucaro Date: Tue, 18 Oct 2011 18:19:32 -0400 Subject: [PATCH] Add has_required_metadata function to check for proper header records. --- xonstat/views/submission.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/xonstat/views/submission.py b/xonstat/views/submission.py index c40a711..a196610 100755 --- a/xonstat/views/submission.py +++ b/xonstat/views/submission.py @@ -9,6 +9,22 @@ from xonstat.util import strip_colors log = logging.getLogger(__name__) +def has_required_metadata(metadata): + """ + Determines if a give set of metadata has enough data to create a game, + server, and map with. + """ + flg_has_req_metadata = True + + if 'T' not in game_meta or\ + 'G' not in game_meta or\ + 'M' not in game_meta or\ + 'S' not in game_meta: + flg_has_req_metadata = False + + return flg_has_req_metadata + + def is_real_player(events): """ Determines if a given set of player events correspond with a player who @@ -390,11 +406,7 @@ def stats_submit(request): (game_meta, players) = parse_body(request) - # verify required metadata is present - if 'T' not in game_meta or\ - 'G' not in game_meta or\ - 'M' not in game_meta or\ - 'S' not in game_meta: + if not has_required_metadata(game_meta): log.debug("Required game meta fields (T, G, M, or S) missing. "\ "Can't continue.") raise Exception("Required game meta fields (T, G, M, or S) missing.") @@ -412,11 +424,6 @@ def stats_submit(request): server = get_or_create_server(session=session, name=game_meta['S']) gmap = get_or_create_map(session=session, name=game_meta['M']) - if 'W' in game_meta: - winner = game_meta['W'] - else: - winner = None - game = create_game(session=session, start_dt=datetime.datetime( *time.gmtime(float(game_meta['T']))[:6]), -- 2.39.2