summaryrefslogtreecommitdiff
path: root/app.py
blob: 05a41bd0bf22d0235d874180c88e043a1de7e0f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from apistar import Include, Route, annotate, render_template
from apistar.frameworks.wsgi import WSGIApp as App
from apistar.handlers import docs_urls, static_urls
from apistar.renderers import HTMLRenderer
import random
import yaml

with open('things-to-check.yml', 'r') as things_file:
    things = yaml.safe_load(things_file)

@annotate(renderers=[HTMLRenderer()])
def random_thing(item: int = None):
    if item is None:
        item = random.randrange(len(things))
    return render_template('index.html',
        item=item,
        thing=things[item],
    )


routes = [
    Route('/', 'GET', random_thing),
    Include('/docs', docs_urls),
    Include('/static', static_urls),
]

settings = {
    'TEMPLATES': {
        'ROOT_DIR': 'templates',     # Include the 'templates/' directory.
        'PACKAGE_DIRS': ['apistar']  # Include the built-in apistar templates.
    }
}

app = App(
    routes=routes,
    settings=settings,
)