X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=html_generator.py;fp=html_generator.py;h=28891022c91ded2be0def4cc151f4d54cf028bda;hb=582fc9dbdaac3053c448af43eb8b7f71b1903d9b;hp=7227eae30f754c8ca3914fce6257e2890f85eeb4;hpb=c143928ee9e6b76d710a210690077337f3f19e7c;p=turbot-web diff --git a/html_generator.py b/html_generator.py index 7227eae..2889102 100644 --- a/html_generator.py +++ b/html_generator.py @@ -30,6 +30,10 @@ 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.""" + return "{}/{}".format(hunt['channel_id'], 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)""" @@ -181,7 +185,7 @@ def overview(hunt, puzzles, rounds): expanding += [ '
Puzzle | \n', @@ -195,12 +199,12 @@ def overview(hunt, puzzles, rounds): meta = '' if puzzle['status'] == 'solved': expanding += ['||
---|---|---|
{} | \n'.format(link(hunt_file(hunt, 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'.format(", ".join(puzzle['solution']).upper()), '
{} | \n'.format(link(hunt_file(hunt, 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(hunt_file(hunt, "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(hunt_file(hunt, filename_from_name(puzzle['name'])) + ".html", 'Overview')), + '{} | \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',[]))), @@ -273,7 +277,7 @@ def round_overview(hunt, rnd, puzzles): '{} | \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(hunt_file(hunt, 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',[]))), @@ -302,7 +306,7 @@ def puzzle_overview(hunt, puzzle): meta = '' slack_url = channel_url(puzzle['channel_id']) if 'rounds' in puzzle: - round_url = [link(hunt_file(hunt, filename_from_name(rnd)) + "_round.html", rnd) for rnd in puzzle['rounds']] + round_url = [link(internal_link(hunt, filename_from_name(rnd)) + "_round.html", rnd) for rnd in puzzle['rounds']] else: round_url = '' if puzzle['status'] == 'solved': @@ -318,7 +322,7 @@ def puzzle_overview(hunt, puzzle): ' \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(hunt_file(hunt, filename_from_name(puzzle['name'])) + ".html", 'Overview')), + '{} | \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',[]))), @@ -419,7 +423,7 @@ def puzzle_lists(hunt, puzzles, filt): meta = '' slack_url = channel_url(puzzle['channel_id']) if 'rounds' in puzzle: - round_url = link(hunt_file(hunt, 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 @@ -428,7 +432,7 @@ 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(hunt_file(hunt, 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',[]))),