mirror of
https://git.ianrenton.com/ian/spothole.git
synced 2025-10-27 08:49:27 +00:00
Provide UTC/local toggle. Closes #32
This commit is contained in:
@@ -138,35 +138,35 @@ class WebServer:
|
||||
match k:
|
||||
case "since":
|
||||
since = datetime.fromtimestamp(int(query.get(k)), pytz.UTC)
|
||||
spots = [s for s in spots if s.time > since]
|
||||
spots = [s for s in spots if s.time and s.time > since]
|
||||
case "max_age":
|
||||
max_age = int(query.get(k))
|
||||
since = datetime.now(pytz.UTC) - timedelta(seconds=max_age)
|
||||
spots = [s for s in spots if s.time > since]
|
||||
spots = [s for s in spots if s.time and s.time > since]
|
||||
case "received_since":
|
||||
since = datetime.fromtimestamp(int(query.get(k)), pytz.UTC)
|
||||
spots = [s for s in spots if s.received_time > since]
|
||||
spots = [s for s in spots if s.received_time and s.received_time > since]
|
||||
case "source":
|
||||
sources = query.get(k).split(",")
|
||||
spots = [s for s in spots if s.source in sources]
|
||||
spots = [s for s in spots if s.source and s.source in sources]
|
||||
case "sig":
|
||||
sigs = query.get(k).split(",")
|
||||
spots = [s for s in spots if s.sig in sigs]
|
||||
spots = [s for s in spots if s.sig and s.sig in sigs]
|
||||
case "band":
|
||||
bands = query.get(k).split(",")
|
||||
spots = [s for s in spots if s.band in bands]
|
||||
spots = [s for s in spots if s.band and s.band in bands]
|
||||
case "mode":
|
||||
modes = query.get(k).split(",")
|
||||
spots = [s for s in spots if s.mode in modes]
|
||||
case "mode_type":
|
||||
mode_families = query.get(k).split(",")
|
||||
spots = [s for s in spots if s.mode_type in mode_families]
|
||||
spots = [s for s in spots if s.mode_type and s.mode_type in mode_families]
|
||||
case "dx_continent":
|
||||
dxconts = query.get(k).split(",")
|
||||
spots = [s for s in spots if s.dx_continent in dxconts]
|
||||
spots = [s for s in spots if s.dx_continent and s.dx_continent in dxconts]
|
||||
case "de_continent":
|
||||
deconts = query.get(k).split(",")
|
||||
spots = [s for s in spots if s.de_continent in deconts]
|
||||
spots = [s for s in spots if s.de_continent and s.de_continent in deconts]
|
||||
# If we have a "limit" parameter, we apply that last, regardless of where it appeared in the list of keys.
|
||||
if "limit" in query.keys():
|
||||
spots = spots[:int(query.get("limit"))]
|
||||
@@ -195,7 +195,7 @@ class WebServer:
|
||||
match k:
|
||||
case "received_since":
|
||||
since = datetime.fromtimestamp(int(query.get(k)), pytz.UTC)
|
||||
alerts = [a for a in alerts if a.received_time > since]
|
||||
alerts = [a for a in alerts if a.received_time and a.received_time > since]
|
||||
case "max_duration":
|
||||
max_duration = int(query.get(k))
|
||||
# Check the duration if end_time is provided. If end_time is not provided, assume the activation is
|
||||
@@ -204,13 +204,13 @@ class WebServer:
|
||||
not a.end_time]
|
||||
case "source":
|
||||
sources = query.get(k).split(",")
|
||||
alerts = [a for a in alerts if a.source in sources]
|
||||
alerts = [a for a in alerts if a.source and a.source in sources]
|
||||
case "sig":
|
||||
sigs = query.get(k).split(",")
|
||||
alerts = [a for a in alerts if a.sig in sigs]
|
||||
alerts = [a for a in alerts if a.sig and a.sig in sigs]
|
||||
case "dx_continent":
|
||||
dxconts = query.get(k).split(",")
|
||||
alerts = [a for a in alerts if a.dx_continent in dxconts]
|
||||
alerts = [a for a in alerts if a.dx_continent and a.dx_continent in dxconts]
|
||||
# If we have a "limit" parameter, we apply that last, regardless of where it appeared in the list of keys.
|
||||
if "limit" in query.keys():
|
||||
alerts = alerts[:int(query.get("limit"))]
|
||||
|
||||
Reference in New Issue
Block a user