From e146c8359e831f3430a78bd77784bd5fd551b5a0 Mon Sep 17 00:00:00 2001 From: Jules Dejaeghere Date: Sun, 16 Jun 2024 13:27:09 +0200 Subject: [PATCH] Refactor --- src/open_irceline/api.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/open_irceline/api.py b/src/open_irceline/api.py index a699549..b07773d 100644 --- a/src/open_irceline/api.py +++ b/src/open_irceline/api.py @@ -49,8 +49,14 @@ class IrcelineClient: # (e.g. 5.01 PM, but the most recent data is for 4.00 PM) if isinstance(timestamp, datetime): timestamp = timestamp.replace(microsecond=0, second=0, minute=0) - timedelta(hours=1) + timestamp = timestamp.isoformat() + key = 'timestamp' elif isinstance(timestamp, date): timestamp = timestamp - timedelta(days=1) + timestamp = timestamp.isoformat() + key = 'date' + else: + raise IrcelineApiError(f"Wrong parameter type for timestamp: {type(timestamp)}") coord = self.epsg_transform(position) querystring = {"service": "WFS", @@ -59,7 +65,7 @@ class IrcelineClient: "outputFormat": "application/json", "typeName": ",".join(features), "cql_filter": - f"{'timestamp' if isinstance(timestamp, datetime) else 'date'}>='{timestamp.isoformat()}'" + f"{key}>='{timestamp}'" f" AND " f"INTERSECTS(the_geom, POINT ({coord[0]} {coord[1]}))"}