X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=html_generator.py;h=0fef3d421c3f1b9158a7e97932f07b43342b24a6;hb=99dee2f570cb7f91f410ff64895f877db0bb5fe5;hp=e337f08034dce8d0f0a19909b2c78351f96d1bdd;hpb=976a9bcf02620a4b1aec2a180efbc0d741a212ce;p=turbot-web diff --git a/html_generator.py b/html_generator.py index e337f08..0fef3d4 100644 --- a/html_generator.py +++ b/html_generator.py @@ -22,8 +22,6 @@ import sys WEBROOT = "/srv/halibut.cworth.org/www" -website = "https://halibut.cworth.org/" -#change this if we're using AWS or some other subdomain instead def hunt_file(hunt, name): """Return a path file 'name' within the given hunt. @@ -32,6 +30,12 @@ def hunt_file(hunt, name): return "{}/{}/{}".format(WEBROOT, hunt['channel_id'], name) +def internal_link(hunt, name): + """Returns a path for a link on this site.""" + + # Just generate a relative link, (which is just the name itself) + return "{}".format(name) + def filename_from_name(name): """Returns a string derived from name, but with all spaces and slashes replaced with underscores, (for making a clean filename)""" @@ -183,7 +187,7 @@ def overview(hunt, puzzles, rounds): expanding += [ '
Puzzle | \n', @@ -197,12 +201,12 @@ def overview(hunt, puzzles, rounds): meta = '' if puzzle['status'] == 'solved': expanding += ['|||
---|---|---|---|
{} | \n'.format(link(website + filename_from_name(puzzle['name']) + ".html", puzzle['name']+meta)), - '{} | \n'.format(puzzle['solution']), + '{} | \n'.format(link(internal_link(hunt, filename_from_name(puzzle['name'])) + ".html", puzzle['name']+meta)), + '{} | \n'.format(", ".join(puzzle['solution']).upper()), '
{} | \n'.format(link(website + filename_from_name(puzzle['name']) + ".html", puzzle['name']+meta)), + '{} | \n'.format(link(internal_link(hunt, filename_from_name(puzzle['name'])) + ".html", puzzle['name']+meta)), '\n', ' |
{}
\n'.format(link(website + "index.html", 'Hunt Overview')), + '{}
\n'.format(link(internal_link(hunt, "index") + ".html", 'Hunt Overview')), '{} | \n'.format(elink(slack_url, puzzle['name']+meta)), '{} | \n'.format(elink(puzzle.get('url',''), 'Puzzle')), '{} | \n'.format(elink(puzzle['sheet_url'], 'Sheet')), - '{} | \n'.format(link(website + filename_from_name(puzzle['name']) + '.html', 'Overview')), - '{} | \n'.format(puzzle['solution']), + '{} | \n'.format(link(internal_link(hunt, filename_from_name(puzzle['name'])) + ".html", 'Overview')), + '{} | \n'.format(", ".join(puzzle['solution']).upper()), # '\n', - ' | {} | \n'.format("".join(puzzle.get('tags',[]))), + '{} | \n'.format(", ".join(puzzle.get('tags',[]))), ' \n'] else: puzzle_list += [ '
{} | \n'.format(elink(slack_url, puzzle['name']+meta)), '{} | \n'.format(elink(puzzle.get('url',''), 'Puzzle')), '{} | \n'.format(elink(puzzle['sheet_url'], 'Sheet')), - '{} | \n'.format(link(website + filename_from_name(puzzle['name']) + '.html', 'Overview')), + '{} | \n'.format(link(internal_link(hunt, filename_from_name(puzzle['name'])) + ".html", 'Overview')), '\n', # ' | \n', - ' | {} | \n'.format(" ".join(puzzle.get('tags',[]))), + '{} | \n'.format(", ".join(puzzle.get('tags',[]))), '
{}
'.format(link(website + 'index.html', 'Hunt Overview')), + '{}
'.format(link(internal_link(hunt, 'index') + ".html", 'Hunt Overview')), '\n', '\n', '\n'.format(status), @@ -337,7 +341,7 @@ def puzzle_overview(hunt, puzzle): 'Round(s): {} | \n'.format(" ".join(round_url)), #round page on our site - 'Tags: {} | \n'.format(" ".join(puzzle.get('tags',[]))), #add tags + 'Tags: {} | \n'.format(", ".join(puzzle.get('tags',[]))), #add tags '|||||||||||||||||
Answer: {} | \n'.format(solution), @@ -376,7 +380,7 @@ def puzzle_lists(hunt, puzzles, filt): ' \n' ' \n', '
{} | \n'.format(elink(slack_url, puzzle['name']+meta)), '{} | \n'.format(elink(puzzle.get('url',''), 'Puzzle')), '{} | \n'.format(elink(puzzle['sheet_url'], 'Sheet')), - '{} | \n'.format(link(website + filename_from_name(puzzle['name']) + '.html', 'Overview')), - '{} | \n'.format(puzzle['solution']), + '{} | \n'.format(link(internal_link(hunt, filename_from_name(puzzle['name'])) + ".html", 'Overview')), + '{} | \n'.format(", ".join(puzzle['solution']).upper()), '{} | \n'.format(round_url), - '{} | \n'.format("".join(puzzle.get('tags',[]))), + '{} | \n'.format(", ".join(puzzle.get('tags',[]))), ' \n'] for puzzle in unsolved_puzzles: if puzzle['type'] == 'meta': @@ -421,7 +425,7 @@ def puzzle_lists(hunt, puzzles, filt): meta = '' slack_url = channel_url(puzzle['channel_id']) if 'rounds' in puzzle: - round_url = link(website + filename_from_name(puzzle['rounds'][0]) + "_round.html", puzzle['rounds'][0]) + round_url = link(internal_link(hunt, filename_from_name(puzzle['rounds'][0])) + "_round.html", puzzle['rounds'][0]) else: round_url = '' #assuming one round per puzzle for now @@ -430,10 +434,10 @@ def puzzle_lists(hunt, puzzles, filt): '{} | \n'.format(elink(slack_url, puzzle['name']+meta)), '{} | \n'.format(elink(puzzle.get('url',''), 'Puzzle')), '{} | \n'.format(elink(puzzle['sheet_url'], 'Sheet')), - '{} | \n'.format(link(website + filename_from_name(puzzle['name']) + '.html', 'Overview')), + '{} | \n'.format(link(internal_link(hunt, filename_from_name(puzzle['name'])) + ".html", 'Overview')), '\n', ' | {} | \n'.format(round_url), - '{} | \n'.format("".join(puzzle.get('tags',[]))), + '{} | \n'.format(", ".join(puzzle.get('tags',[]))), ' \n'] end = [' \n', '