add extractors, rate limit, demo submit form
This commit is contained in:
parent
cc870323bf
commit
2157091778
12 changed files with 1612 additions and 14 deletions
|
@ -179,7 +179,8 @@ class EventResource(BaseEvent):
|
|||
unused, event_stop = self.relative_time(req.params['stop'], cur)
|
||||
event_when = "tstzrange(now(),%s,'[]')" % event_stop
|
||||
else:
|
||||
event_when = "tstzrange(now(),now(),'[]')"
|
||||
# Return events that are currently active (current time is between start and stop)
|
||||
event_when = "now()"
|
||||
|
||||
if 'what' in req.params:
|
||||
# Limit search based on "what"
|
||||
|
@ -209,10 +210,18 @@ class EventResource(BaseEvent):
|
|||
event_geom = cur.mogrify("ST_SnapToGrid(geom,%s)", (req.params['geom'],)).decode("utf-8")
|
||||
|
||||
# Search recent active events.
|
||||
sql = """SELECT events_id, events_tags, createdate, lastupdate, {event_dist} st_asgeojson({event_geom}) as geometry, st_x(geom_center) as lon, st_y(geom_center) as lat
|
||||
FROM events JOIN geo ON (hash=events_geo)
|
||||
WHERE events_when && {event_when} {event_what} {event_type} {event_bbox}
|
||||
ORDER BY {event_sort} {limit}"""
|
||||
if event_when == "now()":
|
||||
# Use @> operator to check if events_when contains current time
|
||||
sql = """SELECT events_id, events_tags, createdate, lastupdate, {event_dist} st_asgeojson({event_geom}) as geometry, st_x(geom_center) as lon, st_y(geom_center) as lat
|
||||
FROM events JOIN geo ON (hash=events_geo)
|
||||
WHERE events_when @> {event_when} {event_what} {event_type} {event_bbox}
|
||||
ORDER BY {event_sort} {limit}"""
|
||||
else:
|
||||
# Use && operator to check if events_when overlaps with event_when
|
||||
sql = """SELECT events_id, events_tags, createdate, lastupdate, {event_dist} st_asgeojson({event_geom}) as geometry, st_x(geom_center) as lon, st_y(geom_center) as lat
|
||||
FROM events JOIN geo ON (hash=events_geo)
|
||||
WHERE events_when && {event_when} {event_what} {event_type} {event_bbox}
|
||||
ORDER BY {event_sort} {limit}"""
|
||||
# No user generated content here, so format is safe.
|
||||
sql = sql.format(event_dist=event_dist, event_geom=event_geom,
|
||||
event_bbox=event_bbox, event_what=event_what,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue