From 228441ddc56b20a8484d4638ce16c4e34b8a221b Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Mon, 8 Jun 2026 10:52:50 -0400 Subject: [PATCH] [importers] Fix parsing of dates in ebird files --- vrobbler/apps/birds/importer.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/vrobbler/apps/birds/importer.py b/vrobbler/apps/birds/importer.py index 5f18912..1a8105d 100644 --- a/vrobbler/apps/birds/importer.py +++ b/vrobbler/apps/birds/importer.py @@ -2,7 +2,9 @@ import csv import logging import re from collections import defaultdict -from datetime import datetime, timedelta +from datetime import timedelta + +from dateutil import parser from django.contrib.auth import get_user_model @@ -35,11 +37,12 @@ def parse_coords(location_str): def parse_timestamp(date_str, time_str): try: - dt = datetime.strptime(f"{date_str} {time_str}", "%B %d, %Y %I:%M %p") + dt_str = f"{date_str} {time_str}".strip() + dt = parser.parse(dt_str) return dt except (ValueError, TypeError): try: - dt = datetime.strptime(date_str, "%B %d, %Y") + dt = parser.parse(date_str) return dt except (ValueError, TypeError): logger.warning(f"Could not parse date/time: {date_str} {time_str}")