]> ToastFreeware Gitweb - philipp/winterrodeln/wrpylib.git/commitdiff
Add function vao_ext_id_to_ifopt_stop_id().
authorPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 18 Jul 2023 19:37:20 +0000 (21:37 +0200)
committerPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 18 Jul 2023 19:37:20 +0000 (21:37 +0200)
wrpylib/lib_update_public_transport.py

index 898fc1e2441736388b890fc101588433c035b32f..7fb80276235a6853a8f5e8aff3bbb4292a30aa0e 100644 (file)
@@ -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