Mercurial > hg > rlgallery-misc
annotate web/scoring/high.cgi @ 74:900da50ee11c
Merge lighttpd configuration into one include file.
The lighttpd configuration was previously spread across several files
which were intended to overwrite the defaults. They often became
outdated.
Now all customization is in lighttpd/rlgallery.conf, which should be
included at the end of whatever main lighttpd configuration file is in
use. It should require minimal updates for new lighttpd versions or
distribution changes.
author | John "Elwin" Edwards |
---|---|
date | Wed, 28 Dec 2016 13:12:04 -0500 |
parents | 1d8dc3ed22cf |
children |
rev | line source |
---|---|
35 | 1 #!/usr/bin/python3 |
2 | |
3 import sys | |
4 import cgi | |
5 import rlgall | |
6 | |
7 checkstr = '{0}:<input type="checkbox" name="g" value="{1}" checked="checked"> ' | |
8 uncheckstr = '{0}:<input type="checkbox" name="g" value="{1}"> ' | |
9 | |
10 cgidata = cgi.FieldStorage() | |
11 | |
12 formgames = cgidata.getlist("g") | |
13 if "all" in formgames: | |
14 games = rlgall.gamelist | |
15 else: | |
16 games = [] | |
17 for g in rlgall.gamelist: | |
18 if g.uname in formgames: | |
19 games.append(g) | |
20 if not games: | |
21 games = rlgall.gamelist | |
22 | |
23 formstart = cgidata.getfirst("s") | |
24 if not formstart: | |
25 start = 0 | |
26 else: | |
27 try: | |
28 start = int(formstart) | |
29 except ValueError: | |
30 start = 0 | |
31 if start < 0: | |
32 start = 0 | |
33 | |
72
1d8dc3ed22cf
Restore the default size of the high score list.
John "Elwin" Edwards
parents:
35
diff
changeset
|
34 deflimit = 10 |
35 | 35 formlimit = cgidata.getfirst("l") |
36 if not formlimit: | |
37 limit = deflimit | |
38 else: | |
39 try: | |
40 limit = int(formlimit) | |
41 except ValueError: | |
42 limit = deflimit | |
43 if limit <= 0: | |
44 limit = deflimit | |
45 | |
46 | |
47 sys.stdout.write("Content-Type: text/html; charset=utf-8\r\n\r\n") | |
48 sys.stdout.write(rlgall.phead.format("High Scores")) | |
49 sys.stdout.write(rlgall.ptop) | |
50 sys.stdout.write(rlgall.navscore.format("High Scores")) | |
51 if len(games) == 1: | |
52 if start == 0: | |
53 intitle = "Top {0} scores for {1}".format(limit, games[0].name) | |
54 else: | |
55 intitle = "Scores {0} - {1} for {2}".format(start + 1, start + limit, | |
56 games[0].name) | |
57 sys.stdout.write(rlgall.pti.format(intitle)) | |
58 highlist = games[0].getHigh(limit, start) | |
59 rlgall.printTable(highlist, games[0].rankfields, sys.stdout) | |
60 else: | |
61 if start == 0: | |
62 intitle = "Top {0} scores".format(limit) | |
63 else: | |
64 intitle = "Scores {0} - {1}".format(start + 1, start + limit) | |
65 sys.stdout.write(rlgall.pti.format(intitle)) | |
66 for g in games: | |
67 sys.stdout.write(rlgall.secthead.format(g.name)) | |
68 highlist = g.getHigh(limit, start) | |
69 rlgall.printTable(highlist, g.rankfields, sys.stdout) | |
70 sys.stdout.write('<form action="/scoring/high.cgi" method="get">\n') | |
71 sys.stdout.write('<div>Number of scores: ') | |
72 sys.stdout.write('<input type="text" name="l" value="{0}">'.format(limit)) | |
73 sys.stdout.write(' Skip the first: ') | |
74 sys.stdout.write('<input type="text" name="s" value="{0}">'.format(start)) | |
75 sys.stdout.write('</div><div>') | |
76 for game in rlgall.gamelist: | |
77 if game in games: | |
78 sys.stdout.write(checkstr.format(game.name, game.uname)) | |
79 else: | |
80 sys.stdout.write(uncheckstr.format(game.name, game.uname)) | |
81 sys.stdout.write('</div><div><input type="submit" value="Get Scores">') | |
82 sys.stdout.write('</div></form>') | |
83 sys.stdout.write(rlgall.pend) | |
84 exit() |