Include heathrow airport pin on map for conference without booked flights
Closes: #115
This commit is contained in:
parent
b33da8485c
commit
39f9c98a51
19
web_view.py
19
web_view.py
|
@ -7,6 +7,7 @@ import operator
|
||||||
import os.path
|
import os.path
|
||||||
import sys
|
import sys
|
||||||
import traceback
|
import traceback
|
||||||
|
import typing
|
||||||
from datetime import date, datetime, timedelta
|
from datetime import date, datetime, timedelta
|
||||||
|
|
||||||
import flask
|
import flask
|
||||||
|
@ -20,6 +21,7 @@ import agenda.holidays
|
||||||
import agenda.thespacedevs
|
import agenda.thespacedevs
|
||||||
import agenda.trip
|
import agenda.trip
|
||||||
from agenda import format_list_with_ampersand, travel
|
from agenda import format_list_with_ampersand, travel
|
||||||
|
from agenda.types import StrDict
|
||||||
|
|
||||||
app = flask.Flask(__name__)
|
app = flask.Flask(__name__)
|
||||||
app.debug = False
|
app.debug = False
|
||||||
|
@ -217,6 +219,7 @@ def trip_page(start: str) -> str:
|
||||||
"""Individual trip page."""
|
"""Individual trip page."""
|
||||||
trip_iter = iter(agenda.trip.build_trip_list())
|
trip_iter = iter(agenda.trip.build_trip_list())
|
||||||
today = date.today()
|
today = date.today()
|
||||||
|
data_dir = flask.current_app.config["PERSONAL_DATA"]
|
||||||
|
|
||||||
prev_trip = None
|
prev_trip = None
|
||||||
for trip in trip_iter:
|
for trip in trip_iter:
|
||||||
|
@ -230,6 +233,22 @@ def trip_page(start: str) -> str:
|
||||||
|
|
||||||
coordinates = agenda.trip.collect_trip_coordinates(trip)
|
coordinates = agenda.trip.collect_trip_coordinates(trip)
|
||||||
routes = agenda.trip.get_trip_routes(trip)
|
routes = agenda.trip.get_trip_routes(trip)
|
||||||
|
if any(route["type"] == "flight" for route in routes) and not any(
|
||||||
|
pin["type"] == "airport" for pin in coordinates
|
||||||
|
):
|
||||||
|
airports = typing.cast(
|
||||||
|
dict[str, StrDict], travel.parse_yaml("airports", data_dir)
|
||||||
|
)
|
||||||
|
lhr = airports["LHR"]
|
||||||
|
coordinates.append(
|
||||||
|
{
|
||||||
|
"name": lhr["name"],
|
||||||
|
"type": "airport",
|
||||||
|
"latitude": lhr["latitude"],
|
||||||
|
"longitude": lhr["longitude"],
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
for route in routes:
|
for route in routes:
|
||||||
if "geojson_filename" in route:
|
if "geojson_filename" in route:
|
||||||
route["geojson"] = agenda.trip.read_geojson(route.pop("geojson_filename"))
|
route["geojson"] = agenda.trip.read_geojson(route.pop("geojson_filename"))
|
||||||
|
|
Loading…
Reference in a new issue