30 lines
857 B
Python
30 lines
857 B
Python
import jinja2
|
|
import os
|
|
from operator import itemgetter
|
|
|
|
|
|
def file_name_to_solution(name):
|
|
number = int(name.replace("EulerProblem", "").replace(".html", ""))
|
|
file_name = name
|
|
display_name = name.replace("EulerProblem", "Problem ").replace(".html", "")
|
|
return (number, file_name, display_name)
|
|
|
|
|
|
def get_solution_list(directory="./"):
|
|
l = [file_name_to_solution(f) for f in os.listdir(directory)
|
|
if f.endswith(".html") and f.startswith("EulerProblem")]
|
|
l.sort(key=itemgetter(0))
|
|
return l
|
|
|
|
|
|
def render_solutions(solutions):
|
|
loader = jinja2.FileSystemLoader(searchpath="./")
|
|
env = jinja2.Environment(loader=loader)
|
|
template = env.get_template("template.html")
|
|
d = {"solutions": solutions}
|
|
with open("index.html", 'w') as f:
|
|
f.write(template.render(**d))
|
|
|
|
|
|
render_solutions(get_solution_list())
|