37 lines
878 B
Python
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()
|