]> de.git.xonotic.org Git - xonotic/xonstat.git/blobdiff - xonstat/views/player.py
Python 2.6.x doesn't have total_seconds().
[xonotic/xonstat.git] / xonstat / views / player.py
index f27071c933e7817d5a13edeeed55fdf5d2aed985..b1fbd5d8ca643ef2f84613fc345dbace2126000f 100644 (file)
@@ -15,7 +15,7 @@ from xonstat.util import page_url
 log = logging.getLogger(__name__)
 
 
-def _player_index_data(request):
+def player_index_data(request):
     if request.params.has_key('page'):
         current_page = request.params['page']
     else:
@@ -42,7 +42,7 @@ def player_index(request):
     """
     Provides a list of all the current players.
     """
-    return _player_index_data(request)
+    return player_index_data(request)
 
 
 def player_index_json(request):
@@ -242,7 +242,7 @@ def get_damage_stats(player_id, weapon_cd, games):
     return (avg, dmgs)
 
 
-def _player_info_data(request):
+def player_info_data(request):
     player_id = int(request.matchdict['id'])
     if player_id <= 2:
         player_id = -1;
@@ -258,7 +258,10 @@ def _player_info_data(request):
         (total_games, games_breakdown) = _get_games_played(player.player_id)
 
         # favorite map from the past 90 days
-        fav_map = _get_fav_map(player.player_id)
+        try:
+            fav_map = _get_fav_map(player.player_id)
+        except:
+            fav_map = None
 
         # friendly display of elo information and preliminary status
         elos = DBSession.query(PlayerElo).filter_by(player_id=player_id).\
@@ -328,7 +331,7 @@ def player_info(request):
     """
     Provides detailed information on a specific player
     """
-    return _player_info_data(request)
+    return player_info_data(request)
 
 
 def player_info_json(request):
@@ -338,7 +341,7 @@ def player_info_json(request):
     return [{'status':'not implemented'}]
 
 
-def _player_game_index_data(request):
+def player_game_index_data(request):
     player_id = request.matchdict['player_id']
 
     if request.params.has_key('page'):
@@ -378,7 +381,7 @@ def player_game_index(request):
     player was involved. This is ordered by game_id, with
     the most recent game_ids first. Paginated.
     """
-    return _player_game_index_data(request)
+    return player_game_index_data(request)
 
 
 def player_game_index_json(request):
@@ -390,7 +393,7 @@ def player_game_index_json(request):
     return [{'status':'not implemented'}]
 
 
-def _player_accuracy_data(request):
+def player_accuracy_data(request):
     player_id = request.matchdict['id']
     allowed_weapons = ['nex', 'rifle', 'shotgun', 'uzi', 'minstanex']
     weapon_cd = 'nex'
@@ -431,7 +434,7 @@ def player_accuracy(request):
     """
     Provides the accuracy for the given weapon. (JSON only)
     """
-    return _player_accuracy_data(request)
+    return player_accuracy_data(request)
 
 
 def player_accuracy_json(request):
@@ -443,10 +446,10 @@ def player_accuracy_json(request):
                 'shotgun', 'uzi', and 'minstanex'.
        games = over how many games to display accuracy. Can be up to 50.
     """
-    return _player_accuracy_data(request)
+    return player_accuracy_data(request)
 
 
-def _player_damage_data(request):
+def player_damage_data(request):
     player_id = request.matchdict['id']
     allowed_weapons = ['grenadelauncher', 'electro', 'crylink', 'hagar',
             'rocketlauncher', 'laser']
@@ -494,4 +497,4 @@ def player_damage_json(request):
          'laser'.
        games = over how many games to display damage. Can be up to 50.
     """
-    return _player_damage_data(request)
+    return player_damage_data(request)