+import re
from datetime import date, timedelta
+from typing import Optional
def day_of_time_table_change(year: int):
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