From e4d0117beacf94bfd58cbdf3be7b232a0d4a21b9 Mon Sep 17 00:00:00 2001 From: Chris Fulljames Date: Sun, 13 Apr 2025 17:11:44 -0400 Subject: [PATCH] Fix timezones for jam events --- src/littlesongplace/jams.py | 12 +++++++++--- src/littlesongplace/songs.py | 5 ++--- src/littlesongplace/templates/jam-event.html | 12 ++++++------ 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/littlesongplace/jams.py b/src/littlesongplace/jams.py index 4f27233..26978d6 100644 --- a/src/littlesongplace/jams.py +++ b/src/littlesongplace/jams.py @@ -161,8 +161,8 @@ def events_update(jamid, eventid): description = request.form["description"] startdate = request.form["startdate"] enddate = request.form["enddate"] - _validate_timestamp(startdate) - _validate_timestamp(enddate) + startdate = _validate_timestamp(startdate) + enddate = _validate_timestamp(enddate) db.query( """ UPDATE jam_events @@ -202,7 +202,13 @@ def _get_jam_by_id(jamid): def _validate_timestamp(timestamp): try: - datetime.fromisoformat(timestamp) + dt = datetime.fromisoformat(timestamp) + if dt.tzinfo: + # Has timezone, convert to UTC + return dt.astimezone(timezone.utc) + else: + # No timezone, assume it is already UTC + return dt.replace(tzinfo=timezone.utc) except ValueError: abort(400) diff --git a/src/littlesongplace/songs.py b/src/littlesongplace/songs.py index fd21ff0..5e4e021 100644 --- a/src/littlesongplace/songs.py +++ b/src/littlesongplace/songs.py @@ -183,12 +183,11 @@ def _from_db(query, args=()): [sd["eventid"]], one=True) if event_row and event_row["enddate"]: - enddate = datetime.fromisoformat(event_row["enddate"]).astimezone() - hidden = datetime.now().astimezone() < enddate + enddate = datetime.fromisoformat(event_row["enddate"]) + hidden = datetime.now(timezone.utc) < enddate created = ( datetime.fromisoformat(sd["created"]) - .astimezone() .strftime("%Y-%m-%d")) songs.append(Song( diff --git a/src/littlesongplace/templates/jam-event.html b/src/littlesongplace/templates/jam-event.html index 7b8f7e9..b1b19fc 100644 --- a/src/littlesongplace/templates/jam-event.html +++ b/src/littlesongplace/templates/jam-event.html @@ -13,12 +13,12 @@
{% if event.startdate %} Start Date: - {{ event.startdate.astimezone().strftime("%Y-%m-%d %I:%M%p") }} + {{ event.startdate.strftime("%Y-%m-%d %I:%M%p") }} (UTC)
{% endif %} {% if event.enddate %} End Date: - {{ event.enddate.astimezone().strftime("%Y-%m-%d %I:%M%p") }} + {{ event.enddate.strftime("%Y-%m-%d %I:%M%p") }} (UTC) {% endif %} @@ -38,11 +38,11 @@ {{ jam.description }} -

Submissions

+

Entries

Submit a Song

- {% if songs %}

This event has received {{ songs|length }} submission{% if songs|length > 1 %}s{% endif %}

{% endif %} + {% if songs %}

This event has received {{ songs|length }} {% if songs|length > 1 %}entries{% else %}entry{% endif %}

{% endif %} {% include "song-list.html" %}

Comments

@@ -62,12 +62,12 @@


-- 2.39.5