#!/usr/bin/env python3
from bottle import route, redirect, request, jinja2_view, static_file, Jinja2Template, url, abort, default_app
import math
import collections
import os
import bottle
import psycopg2
import json
import functools

from collections import OrderedDict

menu = OrderedDict(
        [("Startpagina", "/"),
         ("Uitgaven", "/uitgaven"),
         ("Artikelen", "/artikelen"),
         ("Solliciteren", "/solliciteren"),
         ("Over de Harry", "/over")])

Jinja2Template.defaults = {"url": url, "site_name": "Harry", "navigation": menu}
Jinja2Template.settings = {"autoescape": True}

view = functools.partial(jinja2_view, template_lookup=["templates"])


@route('/')
@view('index.html')
def index():
    return {"title": "Harry"}

@route('/uitgaven')
@view('uitgaven.html')
def uitgaven():
    return {"title": "Harry - Uitgaven"}
    
@route('/artikelen')
@view('artikelen.html')
def artikelen():
    return {"title": "Harry - Artikelen"}

@route('/solliciteren')
@view('solliciteren.html')
def solliciteren():
    return {"title": "Harry - Solliciteren"}

@route('/over')
@view('over.html')
def over():
    return {"title": "Harry - Over de Harry"}

@route('/static/:path#.+#', name='static')
def static(path):
    return static_file(path, root='static')

app = application = default_app()
app.catchall = False

if __name__ == "__main__":
    app.run(host="0.0.0.0", port="8080", debug=True, reloader=True)