More robust theme handling

This commit is contained in:
Neale Pickett 2018-10-09 22:05:02 +00:00
parent d8d23b2c87
commit 5723e94bd7
3 changed files with 11 additions and 6 deletions

View File

@ -24,9 +24,7 @@ sys.dont_write_bytecode = True # Don't write .pyc files
async def handle_puzzlelist(request): async def handle_puzzlelist(request):
seed = int(request.match_info.get("seed")) seed = int(request.match_info.get("seed"))
puzzles = { puzzles = {
"__devel__": { "__devel__": [[0, ""]],
"seed": seed,
},
} }
for p in request.app["puzzles_dir"].glob("*"): for p in request.app["puzzles_dir"].glob("*"):
if not p.is_dir() or p.match(".*"): if not p.is_dir() or p.match(".*"):
@ -121,11 +119,16 @@ async def handle_index(request):
async def handle_static(request): async def handle_static(request):
themes = request.app["theme_dir"]
fn = request.match_info.get("filename") fn = request.match_info.get("filename")
if not fn: if not fn:
fn = "puzzles-list.html" for fn in ("puzzle-list.html", "index.html"):
fn = os.path.join(request.app["theme_dir"], fn) path = themes.joinpath(fn)
return web.FileResponse(fn) if path.exists():
break
else:
path = themes.joinpath(fn)
return web.FileResponse(path)
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -31,6 +31,7 @@ form, pre {
input, select { input, select {
padding: 0.6em; padding: 0.6em;
margin: 0.2em; margin: 0.2em;
max-width: 30em;
} }
nav { nav {
border: solid black 2px; border: solid black 2px;

View File

@ -24,6 +24,7 @@ function init() {
let oldans = document.querySelector("[name=answer]"); let oldans = document.querySelector("[name=answer]");
let ans = document.createElement("select"); let ans = document.createElement("select");
oldans.parentNode.replaceChild(ans, oldans); oldans.parentNode.replaceChild(ans, oldans);
ans.multiple = true;
for (let a of obj.answers) { for (let a of obj.answers) {
let opt = document.createElement("option"); let opt = document.createElement("option");
ans.appendChild(opt); ans.appendChild(opt);