Move code around

This commit is contained in:
Edward Betts 2024-11-13 15:52:02 +01:00
parent 53f6d05e52
commit f4fc839926
2 changed files with 22 additions and 18 deletions

View file

@ -3,11 +3,30 @@
import collections import collections
from datetime import date, timedelta from datetime import date, timedelta
import flask
import agenda.uk_holiday import agenda.uk_holiday
import holidays import holidays
from .event import Event from .event import Event
from .types import Holiday from .types import Holiday, Trip
def get_trip_holidays(trip: Trip) -> list[Holiday]:
"""Get holidays happening during trip."""
if not trip.end:
return []
countries = {c.alpha_2 for c in trip.countries}
return sorted(
(
hol
for hol in get_all(
trip.start, trip.end, flask.current_app.config["DATA_DIR"]
)
if hol.country.upper() in countries
),
key=lambda item: (item.date, item.country),
)
def us_holidays(start_date: date, end_date: date) -> list[Holiday]: def us_holidays(start_date: date, end_date: date) -> list[Holiday]:

View file

@ -507,8 +507,6 @@ def trip_page(start: str) -> str:
if not trip: if not trip:
flask.abort(404) flask.abort(404)
today = date.today()
coordinates = agenda.trip.collect_trip_coordinates(trip) coordinates = agenda.trip.collect_trip_coordinates(trip)
routes = agenda.trip.get_trip_routes(trip, app.config["PERSONAL_DATA"]) routes = agenda.trip.get_trip_routes(trip, app.config["PERSONAL_DATA"])
@ -520,30 +518,17 @@ def trip_page(start: str) -> str:
app.config["PERSONAL_DATA"], route.pop("geojson_filename") app.config["PERSONAL_DATA"], route.pop("geojson_filename")
) )
if trip.end:
countries = {c.alpha_2 for c in trip.countries}
holidays = [
hol
for hol in agenda.holidays.get_all(
trip.start, trip.end, app.config["DATA_DIR"]
)
if hol.country.upper() in countries
]
holidays.sort(key=lambda item: (item.date, item.country))
else:
holidays = []
return flask.render_template( return flask.render_template(
"trip_page.html", "trip_page.html",
trip=trip, trip=trip,
prev_trip=prev_trip, prev_trip=prev_trip,
next_trip=next_trip, next_trip=next_trip,
today=today, today=date.today(),
coordinates=coordinates, coordinates=coordinates,
routes=routes, routes=routes,
get_country=agenda.get_country, get_country=agenda.get_country,
format_list_with_ampersand=format_list_with_ampersand, format_list_with_ampersand=format_list_with_ampersand,
holidays=holidays, holidays=agenda.holidays.get_trip_holidays(trip),
human_readable_delta=agenda.utils.human_readable_delta, human_readable_delta=agenda.utils.human_readable_delta,
) )