[importers] Fix parsing of dates in ebird files

This commit is contained in:
2026-06-08 10:52:50 -04:00
parent 6341075f07
commit 228441ddc5

View File

@ -2,7 +2,9 @@ import csv
import logging import logging
import re import re
from collections import defaultdict 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 from django.contrib.auth import get_user_model
@ -35,11 +37,12 @@ def parse_coords(location_str):
def parse_timestamp(date_str, time_str): def parse_timestamp(date_str, time_str):
try: 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 return dt
except (ValueError, TypeError): except (ValueError, TypeError):
try: try:
dt = datetime.strptime(date_str, "%B %d, %Y") dt = parser.parse(date_str)
return dt return dt
except (ValueError, TypeError): except (ValueError, TypeError):
logger.warning(f"Could not parse date/time: {date_str} {time_str}") logger.warning(f"Could not parse date/time: {date_str} {time_str}")