rlgallery-misc/py/recorder.py
John "Elwin" Edwards aef04a38e1 Port to Python 3.
All scripts and modules have been ported to Python 3 and appear to
work.  Some changes to the lighttpd configuration were needed.
2013-12-31 13:36:19 -05:00

44 lines
1.2 KiB
Python
Executable file

#!/usr/bin/python3
import os
import psycopg2
import rlgalldb as 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.
# Currently the high scores for all the games are on the same page. If
# they split up, this will have to change to a Game method.
rlgall.highpage()
for name in updatenames:
rlgall.playerpage(name)
exit()