From c8232f9744703c18835a14f240a5ff85cca5892d Mon Sep 17 00:00:00 2001 From: Philipp Spitzer Date: Tue, 18 Jul 2023 21:37:20 +0200 Subject: [PATCH] Add function vao_ext_id_to_ifopt_stop_id(). --- wrpylib/lib_update_public_transport.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/wrpylib/lib_update_public_transport.py b/wrpylib/lib_update_public_transport.py index 898fc1e..7fb8027 100644 --- a/wrpylib/lib_update_public_transport.py +++ b/wrpylib/lib_update_public_transport.py @@ -1,4 +1,6 @@ +import re from datetime import date, timedelta +from typing import Optional def day_of_time_table_change(year: int): @@ -20,3 +22,12 @@ def default_query_date(today: date) -> date: if query_date < today: return default_query_date(today + timedelta(days=14)) return query_date + + +def vao_ext_id_to_ifopt_stop_id(vao_ext_id: str) -> Optional[str]: + """Converts a VAO EXT ID like "476164600" to the IFOPT stop ID like "at:47:61646". + In case the vao_ext_id cannot be converted, None is returned.""" + if match := re.match(r'(47)(\d{5})00', vao_ext_id): + g1, g2 = match.groups() + return f"at:{g1}:{g2}" + return None -- 2.39.5