From d99232df8e248e049ee0bd9ec1324a1efc9f6afd Mon Sep 17 00:00:00 2001 From: Ant Zucaro Date: Thu, 20 Oct 2011 07:11:04 -0400 Subject: [PATCH] Configure required minimum players using the ini file. --- development.ini | 10 +++++++--- xonstat/views/submission.py | 20 ++++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/development.ini b/development.ini index 9c8cc6c..b3c8372 100644 --- a/development.ini +++ b/development.ini @@ -6,15 +6,19 @@ debug_notfound = false debug_routematch = false debug_templates = true default_locale_name = en -sqlalchemy.url = postgresql+psycopg2://xonstat:xonstat@localhost:5432/xonstatdb +sqlalchemy.url = postgresql+psycopg2://xonstat:xonstat@localhost:5433/xonstatdb session.type = file session.data_dir = %(here)s/data/sessions/data session.lock_dir = %(here)s/data/sessions/lock session.key = xonstat -session.secret = 433fa4b080c2147c79c0ed1cb54e3ce81371fb33 +session.secret = CHANGEMECHANGEMECHANGEME jinja2.directories = xonstat:templates mako.directories = xonstat:templates +# how many "real" players are required before the data +# is stored in the database +xonstat.minimum_required_players = 1 + [pipeline:main] pipeline = egg:WebError#evalerror @@ -51,7 +55,7 @@ handlers = qualname = xonstat [logger_sqlalchemy] -level = INFO +level = WARN handlers = qualname = sqlalchemy.engine # "level = INFO" logs SQL queries. diff --git a/xonstat/views/submission.py b/xonstat/views/submission.py index 88c4bb2..89e4920 100755 --- a/xonstat/views/submission.py +++ b/xonstat/views/submission.py @@ -2,6 +2,7 @@ import datetime import logging import re import time +from pyramid.config import get_current_registry from pyramid.response import Response from sqlalchemy.orm.exc import MultipleResultsFound, NoResultFound from xonstat.models import * @@ -18,13 +19,20 @@ def has_minimum_real_players(player_events): """ flg_has_min_real_players = True + settings = get_current_registry().settings + try: + minimum_required_players = int( + settings['xonstat.minimum_required_players']) + except: + minimum_required_players = 2 + real_players = 0 for events in player_events: if is_real_player(events): real_players += 1 #TODO: put this into a config setting in the ini file? - if real_players < 1: + if real_players < minimum_required_players: flg_has_min_real_players = False return flg_has_min_real_players @@ -37,10 +45,10 @@ def has_required_metadata(metadata): """ 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: + if 'T' not in metadata or\ + 'G' not in metadata or\ + 'M' not in metadata or\ + 'S' not in metadata: flg_has_req_metadata = False return flg_has_req_metadata @@ -443,7 +451,7 @@ def stats_submit(request): start_dt=datetime.datetime( *time.gmtime(float(game_meta['T']))[:6]), server_id=server.server_id, game_type_cd=game_meta['G'], - map_id=gmap.map_id, winner=winner) + map_id=gmap.map_id) # find or create a record for each player # and add stats for each if they were present at the end -- 2.39.2