@ -46,6 +46,9 @@ def scrape(station_name: str):
tz = pytz.timezone('Europe/Bucharest')
def parse_arrdep_list(elem, end_station_field_name):
if elem.div.ul is None:
return None
def parse_item(elem):
result = {}
@ -71,7 +71,7 @@
"type": "object",
"properties": {
"arrivals": {
"type": "array",
"type": ["array", "null"],
"items": {
"allOf": [
{
@ -96,7 +96,7 @@
}
},
"departures": {
@ -165,7 +165,9 @@ def on_station(station_data: dict):
found_train_at_station(station, train_number)
with db_transaction():
if station_data['arrivals']:
for train in station_data['arrivals']:
process_train(train)
if station_data['departures']:
for train in station_data['departures']: