cygnal/server/__main__.py

34 lines
805 B
Python
Raw Normal View History

2018-06-25 18:29:57 +02:00
#!/usr/bin/env python
# coding: utf-8
import functools
import json
2018-06-26 15:34:38 +02:00
import os
2018-06-25 18:29:57 +02:00
import bottle
2018-06-25 17:12:17 +02:00
from server import routes
from server.jsonapi import DateAwareJSONEncoder
2018-06-25 17:12:17 +02:00
from server.models import db, Report
2018-06-25 18:29:57 +02:00
2018-06-26 15:55:52 +02:00
def init():
2018-06-25 18:29:57 +02:00
db.connect()
db.create_tables([Report])
# Use DateAwareJSONEncoder to dump JSON strings
# From http://stackoverflow.com/questions/21282040/bottle-framework-how-to-return-datetime-in-json-response#comment55718456_21282666. pylint: disable=locally-disabled,line-too-long
bottle.install(
bottle.JSONPlugin(
json_dumps=functools.partial(json.dumps, cls=DateAwareJSONEncoder)
)
)
2018-06-26 15:55:52 +02:00
if __name__ == "__main__":
init()
2018-06-26 15:34:38 +02:00
bottle.run(
host=os.environ.get('HOST', '127.0.0.1'),
port=int(os.environ.get('PORT', '8081'))
)