view py/recorder.py @ 50:4549b3c0cd28

rlgall.py: add time selection to Game.getHigh(). Optional inittime and finaltime parameters set the range of time over which to calculate high scores.
author John "Elwin" Edwards
date Fri, 28 Mar 2014 09:33:49 -0700
parents 09ef92dc4439
children
line wrap: on
line source

#!/usr/bin/python3

import os
import psycopg2
import rlgall

# Contains a dir for everyone who registered
everydir = "/var/dgl/dgldir/ttyrec/"
# Contains a page for everyone we know about
#knowndir = rlgall.dbdir + "players/"

# Contact the database
conn = psycopg2.connect("dbname=rlg")
cur = conn.cursor()

# newnames is the list of newly registered players who are not yet in the
# database.  updatenames is the set of players whose pages need updating.
cur.execute("SELECT pname FROM players;")
playersInDB = [ row[0] for row in cur.fetchall() ]
playersAll = os.listdir(everydir)
newnames = [ name for name in playersAll if name not in playersInDB ]
updatenames = set(newnames)

# Add the new names to the database
for newplayer in newnames:
  cur.execute("INSERT INTO players VALUES (%s);", [newplayer])
conn.commit()
cur.close()
conn.close()

# Update the database for each game.
for game in rlgall.gamelist:
  updatenames.update(game.loadnew())

# All the databases have been updated.  Now make the pages.

# The high page has been replaced with a CGI script.
#rlgall.highpage()

for name in updatenames:
  rlgall.playerpage(name)

exit()