------------------------------------------ developers only! this game is currently not playable! main.py is the main script. call this from a browser. the init_webgo.main() in main.py reinitializes the whole database on each call, so comment the line out if you do not want that. init_webgo also creates two test users, gast and gast2. password = username. you can use those to log in. ------------------------------------------ want to create your own goban images? Simple: just replace the images in imgsource/ with the desired ones. then run generate_goban_images.py and the new images get written to img/. ------------------------------------------ overview of the files: main.py - the main script. Essentially a wrapper that prints the traceback if something went wrong. login.py - this file contains functions for login and game selection/modification. goban.py - code for displaying a goban as a html page. psql.py - all functions directly accessing the database. init_webgo.py - re-initialize the whole game. deletes everything and sets some defaults. helper.py - small functions for string manipulation etc. generate_goban_images.py - recreate the goban images. just run from console. ------------------------------------------ coding guidelines tab == 4 whitespaces. function names are lowercase with _ as a seperator. ------------------------------------------ some code snippets for reference: How to make the goban clickable: data += '
' data += '' #insert rest of goban here data += '
' print data How to extract the data from this POST with the cgi module: import cgi #get instance of fieldstorage form = cgi.FieldStorage() #if form == empty (which means if page is displayed for the first time): if form.keys() != []: #cut out the name of the clicked button print string.split(form.keys()[0],".x")[0] ------------------------------------------ known bugs: "DatabaseError: error 'ERROR: current transaction is aborted, commands ignored until end of transaction block" seems to be a problem with mod_python and a cached database connection. /etc/init.d/apache2 restart helps.