Prefer ICAO flight number for some airlines

This commit is contained in:
Edward Betts 2025-04-28 12:13:23 +03:00
parent 8cd2335630
commit 503d39e6b8
4 changed files with 42 additions and 13 deletions

View file

@ -162,9 +162,19 @@ def check_airlines() -> list[agenda.types.StrDict]:
airlines = agenda.travel.parse_yaml("airlines", data_dir)
print(len(airlines), "airlines")
for airline in airlines:
assert airline.keys() == {"icao", "iata", "name"}
assert len(airline["icao"]) == 3
assert len(airline["iata"]) == 2
try:
keys = set(airline.keys())
keys.discard("flight_number_prefer_icao")
assert keys == {"icao", "iata", "name"}
iata, icao = airline["iata"], airline["icao"]
assert iata[0].isupper() and iata[1].isupper() or iata[1].isdigit()
assert icao.isupper()
assert len(iata) == 2 and len(icao) == 3
if "flight_number_prefer_icao" in airline:
assert isinstance(airline["flight_number_prefer_icao"], bool)
except AssertionError:
print(yaml.dump([airline]))
raise
return airlines