From 1427b3a0e396bb161cac81d6ca8f044d6ae3bb30 Mon Sep 17 00:00:00 2001 From: Christian Quest Date: Fri, 6 May 2016 15:08:32 +0200 Subject: [PATCH] list recent current events --- backend.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/backend.py b/backend.py index 74ab95b..a74eece 100644 --- a/backend.py +++ b/backend.py @@ -22,15 +22,27 @@ class StatsResource(object): resp.status = falcon.HTTP_200 class EventResource(object): - def on_get(self, req, resp, id): + def on_get(self, req, resp, id = None): db = psycopg2.connect("dbname=oedb") cur = db.cursor() - # get event geojson Feature - cur.execute(""" + if id is None: + cur.execute(""" +SELECT format('{"type": "FeatureCollection","features": [%s]}',string_agg(feature,',')) FROM + (SELECT '{"type":"Feature", "properties": '|| events_tags::text ||', "geometry":'|| st_asgeojson(geom) ||' }' as feature + FROM events + JOIN geo ON (hash=events_geo) + WHERE events_when @> format('[%s,%s]', now(), now())::tstzrange + ORDER BY createdate DESC + LIMIT 50) as f; +""") + else: + # get event geojson Feature + cur.execute(""" SELECT format('{"type":"Feature", "properties": '|| events_tags::text ||', "geometry":'|| st_asgeojson(geom)) ||' }' FROM events JOIN geo ON (hash=events_geo) WHERE events_id=%s;""", (id,)) + e = cur.fetchone() resp.set_header('X-Powered-By', 'OpenEventDatabase') resp.set_header('Access-Control-Allow-Origin', '*')