diff --git a/web_view.py b/web_view.py index 20fd71b..70c48dd 100755 --- a/web_view.py +++ b/web_view.py @@ -223,12 +223,19 @@ async def gaps_page() -> str: @app.route("/weekends") async def weekends() -> str: - """List of available gaps.""" - today = date.today() + """List of available weekends using an optional date parameter.""" + today = datetime.now().date() + date_str = flask.request.args.get("date") + if date_str: + try: + start = datetime.strptime(date_str, "%Y-%m-%d").date() + except ValueError: + return flask.abort(400, description="Invalid date format. Use YYYY-MM-DD.") + else: + start = date(today.year, 1, 1) current_week_number = today.isocalendar().week - start = date(today.year, 1, 1) trip_list = agenda.trip.build_trip_list() busy_events = agenda.busy.get_busy_events(start, app.config, trip_list) weekends = agenda.busy.weekends(start, busy_events)