From efa691750cb90ec63e360c79f501be81dbe4a700 Mon Sep 17 00:00:00 2001 From: Drew Date: Wed, 11 Feb 2026 19:47:04 -0500 Subject: [PATCH] updated date parsing --- README.md | 14 ++++++-------- calendar.ics | 4 ++-- generate_calendar.py | 16 ++++++++++------ 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 2a6f4ab..7e59ec2 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,12 @@ ## Upcoming Events -### LATE NITE LUG -- **Date:** February 26, 2026 at 08:15 PM EST -- **Location:** Online -- **Description:** Join us for the second Linux User Group of the Month - -## Recent Past Events - ### EARLY LUG -- **Date:** February 12, 2026 at 12:15 PM EST +- **Date:** February 12, 2026 at 12:15 PM ET - **Location:** Online - **Description:** Join us for the first Linux User Group of the Month + +### LATE NITE LUG +- **Date:** February 26, 2026 at 08:15 PM ET +- **Location:** Online +- **Description:** Join us for the second Linux User Group of the Month diff --git a/calendar.ics b/calendar.ics index ec33096..ff2c045 100644 --- a/calendar.ics +++ b/calendar.ics @@ -9,7 +9,7 @@ X-WR-CALDESC:Bi-monthly meetings for the Linux Cast User Group BEGIN:VEVENT UID:a2b0842c2b5a01104c433fc893c295bb@thelinuxcast.org -DTSTAMP:20260212T000016Z +DTSTAMP:20260212T004451Z DTSTART:20260212T171500Z DTEND:20260212T181500Z SUMMARY:Linux Cast User Group: EARLY LUG @@ -20,7 +20,7 @@ END:VEVENT BEGIN:VEVENT UID:d2f7d7de1a333caed5783ceb4168f501@thelinuxcast.org -DTSTAMP:20260212T000016Z +DTSTAMP:20260212T004451Z DTSTART:20260227T011500Z DTEND:20260227T021500Z SUMMARY:Linux Cast User Group: LATE NITE LUG diff --git a/generate_calendar.py b/generate_calendar.py index 626f8c3..e5f6204 100644 --- a/generate_calendar.py +++ b/generate_calendar.py @@ -18,13 +18,14 @@ def load_meetings(yaml_file='meetings.yaml'): def filter_meetings(meetings, months=3): """Filter meetings to show only those within the last/next N months""" - now = datetime.now() + now = datetime.now(ZoneInfo('America/Detroit')) cutoff_past = now - timedelta(days=30 * months) cutoff_future = now + timedelta(days=30 * months) filtered = [] for meeting in meetings: - meeting_date = datetime.strptime(meeting['date'], '%Y-%m-%d') + tz = ZoneInfo(meeting.get('timezone', 'America/Detroit')) + meeting_date = datetime.strptime(meeting['date'], '%Y-%m-%d').replace(tzinfo=tz) if cutoff_past <= meeting_date <= cutoff_future: filtered.append(meeting) @@ -92,14 +93,17 @@ def generate_ics(meetings, output_file='calendar.ics'): def generate_readme(meetings, output_file='README.md'): """Generate README.md from meetings""" - now = datetime.now() + now = datetime.now(ZoneInfo('America/Detroit')) # Separate past and upcoming meetings past_meetings = [] upcoming_meetings = [] for meeting in meetings: - meeting_date = datetime.strptime(meeting['date'], '%Y-%m-%d') + tz = ZoneInfo(meeting.get('timezone', 'America/Detroit')) + meeting_date = datetime.strptime( + f"{meeting['date']} {meeting['time']}", '%Y-%m-%d %H:%M' + ).replace(tzinfo=tz) if meeting_date < now: past_meetings.append(meeting) else: @@ -127,7 +131,7 @@ def generate_readme(meetings, output_file='README.md'): lines.extend([ f"### {meeting['title']}", - f"- **Date:** {formatted_date} EST", + f"- **Date:** {formatted_date} ET", f"- **Location:** {meeting.get('location', 'Online')}", f"- **Description:** {meeting['description']}", '' @@ -144,7 +148,7 @@ def generate_readme(meetings, output_file='README.md'): lines.extend([ f"### {meeting['title']}", - f"- **Date:** {formatted_date} EST", + f"- **Date:** {formatted_date} ET", f"- **Location:** {meeting.get('location', 'Online')}", f"- **Description:** {meeting['description']}", ''