Luke Murphy
4 years ago
9 changed files with 66 additions and 6 deletions
@ -1,11 +1,46 @@ |
|||
"""Flask server.""" |
|||
|
|||
from csv import DictReader |
|||
from os import listdir |
|||
from os.path import basename, dirname, splitext |
|||
from pathlib import Path |
|||
|
|||
from flask import Flask, render_template |
|||
from ruamel.yaml import YAML |
|||
|
|||
app = Flask(__name__) |
|||
cwd = dirname(Path(__file__).absolute()) |
|||
yaml = YAML() |
|||
|
|||
|
|||
@app.route("/") |
|||
def home(): |
|||
"""Serve the home page.""" |
|||
return render_template("index.html") |
|||
def about(): |
|||
return render_template("about.html") |
|||
|
|||
|
|||
@app.route("/programmes") |
|||
def programmes(): |
|||
programmes = [] |
|||
path = cwd / Path("static/programmes/") |
|||
for file in listdir(path): |
|||
with open(path / file, "r") as handle: |
|||
contents = handle.read() |
|||
loaded = yaml.load(contents) |
|||
programmes.append(loaded) |
|||
return render_template("programmes.html", programmes=programmes) |
|||
|
|||
|
|||
@app.route("/collection") |
|||
def collection(): |
|||
collection = [] |
|||
path = cwd / Path("static/csv/collection.csv") |
|||
with open(path, "r") as handle: |
|||
reader = DictReader(handle) |
|||
for row in reader: |
|||
collection.append(row) |
|||
return render_template("collection.html", collection=collection) |
|||
|
|||
|
|||
@app.route("/participate") |
|||
def participate(): |
|||
return render_template("participate.html") |
|||
|
Can't render this file because it has a wrong number of fields in line 37.
|
@ -0,0 +1,5 @@ |
|||
--- |
|||
title: Point of View |
|||
tagline: Perspective makes all the difference |
|||
films: |
|||
- Rear Window |
@ -0,0 +1,5 @@ |
|||
--- |
|||
title: Retellings |
|||
tagline: Extending the story with the second film |
|||
films: |
|||
- La Jetée & 12 Monkeys |
@ -1,5 +1,9 @@ |
|||
{% extends "layout.html" %} |
|||
|
|||
{% block content %} |
|||
<p>TODO: collection page</p> |
|||
<ul> |
|||
{% for film in collection %} |
|||
<li>{{ film }}</li> |
|||
{% endfor %} |
|||
</ul> |
|||
{% endblock %} |
|||
|
@ -1,5 +1,9 @@ |
|||
{% extends "layout.html" %} |
|||
|
|||
{% block content %} |
|||
<p>TODO: programmes page</p> |
|||
<ul> |
|||
{% for programme in programmes %} |
|||
<li>{{ programme }}</li> |
|||
{% endfor %} |
|||
</ul> |
|||
{% endblock %} |
|||
|
@ -1,3 +1,4 @@ |
|||
fabric==2.5.0 |
|||
flask==1.1.1 |
|||
gunicorn==20.0.4 |
|||
ruamel.yaml==0.16.10 |
|||
|
Loading…
Reference in new issue