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,
)
|