aboutsummaryrefslogtreecommitdiff
path: root/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'server.py')
-rw-r--r--server.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/server.py b/server.py
new file mode 100644
index 0000000..1717ed2
--- /dev/null
+++ b/server.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+import ptv_client
+import html_view
+from wsgiref.simple_server import make_server
+from urllib.parse import parse_qs
+import util
+
+def application(environ, start_response):
+ d = parse_qs(environ['QUERY_STRING'])
+ if 'q' in d:
+ query = str(d.get('q', [''])[0])
+ response_body = html_view.format_stop_and_route_name_table(
+ list(ptv_client.get_stop_and_routes(ptv_client.search(query))))
+ else:
+ print(d)
+ departures = ptv_client.get_departures(
+ str(d['route-type'][0]), str(d['stop'][0]), str(d['route'][0]))
+ filtered_deps = util.filter_departures(departures['departures'])
+ direction_names = ptv_client.get_direction_names(str(d['route'][0]))
+ response_body = html_view.format_departure_table(
+ filtered_deps, direction_names)
+
+ response_html = html_view.html(response_body)
+ response_headers = [
+ ('Content-Type', 'text/html'),
+ ('Content-Length', str(len(response_html)))
+ ]
+ start_response('200 OK', response_headers)
+ return [response_html.encode()]
+
+httpd = make_server('localhost', 8052, application)
+httpd.serve_forever()