Odjezdova-tabule-MHD/server/api.py
2022-12-08 15:05:35 +01:00

37 lines
878 B
Python

from bottle import route, template, error, run, ServerAdapter
from departures import Departure
import threading
class Server(ServerAdapter):
server = None
def run(self, handler):
from wsgiref.simple_server import make_server, WSGIRequestHandler
if self.quiet:
class QuietHandler(WSGIRequestHandler):
def log_request(self, *args, **kw):
pass
self.options['handler_class'] = QuietHandler
self.server = make_server(self.host, self.port, handler, **self.options)
self.server.serve_forever()
def stop(self):
self.server.shutdown()
server = Server(port=8080)
@route('/departures')
def index():
resp = []
for d in Departure.storage:
resp.append(Departure.storage[d].json())
return {'departures': resp}
@error(404)
def error404(error):
return ''
def start():
run(quiet=True, server=server)
thread = threading.Thread(target=start)
thread.start()