History-Tracking

Daniel Künne

Der zweite Modus des Gameviewers dient zum Betrachten von bereits abgelaufenen Spielen. Da es in diesem Fall nicht möglich ist, Anfragen direkt an den Server zu stellen, muss eine Zwischenauswertung erfolgen. Diese übernimmt die Django-Applikation, von wo aus Anfragen direkt an die Datenbank gestellt, aufbereitet und dann im gleichen Format wie beim Realtime-Tracking an den Gameviewer zurückgeliefert werden.

def game_time(time, game_id, player_id, get=None):
    c = ocpgdb.connect(**webadmin_db)
    curs = c.execute("""SELECT round(date_part('epoch',start_time)), round(date_part('epoch',end_time)) 
			FROM games_history 
			WHERE id = %d"""
			% (int (game_id)))
    c.close
    if len(curs) == 1:
        return {
            'start_time' : curs[0][0] * 1000,
            'end_time' : curs[0][1] * 1000,
            'live' : False,
        }
    return None
Aufbereitung innerhalb des Callbacks

Obige Funktion erfüllt die gleiche Aufgabe wie das Code-Beispiel im Realtime-Tracking allerdings werden die Unterschiede schnell deutlich. Hier muss eine SQL-Anfrage an die Datenbank gestellt werden, welche einen Datensatz zurückliefert. Anschließend müssen die erhaltenen Werte noch in das vorgegebene JSON-Format gebracht werden.


Page last modified on March 21, 2011, at 05:53 PM