3 import pyramid.httpexceptions
6 from pyramid.response import Response
7 from sqlalchemy.orm.exc import MultipleResultsFound, NoResultFound
8 from sqlalchemy.sql import func
9 from xonstat.models import *
10 from xonstat.util import strip_colors, qfont_decode
12 log = logging.getLogger(__name__)
14 def search_q(player_id=None, nick=None, server_id=None, server_name=None,
15 map_id=None, map_name=None, game_id=None, create_dt=None):
20 # player-only searches
21 if ((player_id or nick) and not server_id and not server_name and not
22 map_id and not map_name and not game_id and not create_dt):
23 result_type = "player"
24 q = session.query(Player)
26 q = q.filter(func.upper(Player.stripped_nick).like('%'+nick.upper()+'%'))
28 q = q.filter(Player.player_id==player_id)
36 return (result_type, results)
42 if request.params.has_key('form.submitted'):
43 nick = request.params['nick']
44 (result_type, results) = search_q(nick=nick)
46 return {'result_type':result_type,