From: Philipp Spitzer Date: Tue, 18 Jul 2023 19:37:20 +0000 (+0200) Subject: Add function vao_ext_id_to_ifopt_stop_id(). X-Git-Url: https://git.toastfreeware.priv.at/philipp/winterrodeln/wrpylib.git/commitdiff_plain/c8232f9744703c18835a14f240a5ff85cca5892d Add function vao_ext_id_to_ifopt_stop_id(). --- 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