54 lines
No EOL
2.3 KiB
Text
54 lines
No EOL
2.3 KiB
Text
------------------------------------------
|
|
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 += '<form method="post">'
|
|
data += '<input type=image src="img/bottomrightline.png" name="untenrechts">'
|
|
#insert rest of goban here
|
|
data += '</form>'
|
|
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. |