From 217f82d44b6185ad0e114ff1b1e0f039ebbfb5ea Mon Sep 17 00:00:00 2001 From: Nate-Wessel Date: Fri, 10 Jan 2025 17:14:05 +0000 Subject: [PATCH 1/2] allow function to default to NOW --- backend/app/selectMapVersion.py | 43 ++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/backend/app/selectMapVersion.py b/backend/app/selectMapVersion.py index fa90193..ef3732f 100644 --- a/backend/app/selectMapVersion.py +++ b/backend/app/selectMapVersion.py @@ -3,26 +3,35 @@ # Selects Here map version to use based on dates in the provided query. # however the query also has nodes which may or may not be version-specific -def selectMapVersion(start_date, end_date): - query = """ - WITH coverage AS ( - SELECT - street_version, - valid_range * daterange(%(start_date)s, %(end_date)s,'[)') AS overlap - FROM here.street_valid_range - ) - +rangeQuery = """ +WITH coverage AS ( SELECT street_version, - UPPER(overlap) - LOWER(overlap) AS days_covered - FROM coverage - WHERE UPPER(overlap) - LOWER(overlap) IS NOT NULL - ORDER BY days_covered DESC NULLS LAST - """ + valid_range * daterange(%(start_date)s, %(end_date)s,'[)') AS overlap + FROM here.street_valid_range +) + +SELECT street_version +FROM coverage +WHERE UPPER(overlap) - LOWER(overlap) IS NOT NULL +ORDER BY UPPER(overlap) - LOWER(overlap) DESC NULLS LAST; +""" + +nowQuery = """ +SELECT street_version +FROM here.street_valid_range +WHERE valid_range @> NOW()::date; +""" + +def selectMapVersion(start_date=None, end_date=None): connection = getConnection() with connection: with connection.cursor() as cursor: - cursor.execute(query,{'start_date':start_date,'end_date':end_date}) - (map_version, coverage) = cursor.fetchone() + # a daterange has been provided + cursor.execute( + rangeQuery if start_date and end_date else nowQuery, + {'start_date':start_date,'end_date':end_date} + ) + (map_version) = cursor.fetchone() connection.close() - return map_version \ No newline at end of file + return map_version From 7d8b9d498320a24b3142e480583f4282c24675ea Mon Sep 17 00:00:00 2001 From: Nate-Wessel Date: Fri, 10 Jan 2025 17:28:00 +0000 Subject: [PATCH 2/2] rename file --- backend/app/get_travel_time.py | 2 +- backend/app/{selectMapVersion.py => hereMapVersion.py} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename backend/app/{selectMapVersion.py => hereMapVersion.py} (95%) diff --git a/backend/app/get_travel_time.py b/backend/app/get_travel_time.py index 67e249f..c661795 100644 --- a/backend/app/get_travel_time.py +++ b/backend/app/get_travel_time.py @@ -2,7 +2,7 @@ from app.db import getConnection from app.get_here_links import get_here_links -from app.selectMapVersion import selectMapVersion +from app.hereMapVersion import hereMapVersion from traveltimetools.utils import timeFormats import numpy import math diff --git a/backend/app/selectMapVersion.py b/backend/app/hereMapVersion.py similarity index 95% rename from backend/app/selectMapVersion.py rename to backend/app/hereMapVersion.py index ef3732f..c661104 100644 --- a/backend/app/selectMapVersion.py +++ b/backend/app/hereMapVersion.py @@ -23,7 +23,7 @@ WHERE valid_range @> NOW()::date; """ -def selectMapVersion(start_date=None, end_date=None): +def hereMapVersion(start_date=None, end_date=None): connection = getConnection() with connection: with connection.cursor() as cursor: