[importers] Fix parsing of dates in ebird files
This commit is contained in:
@ -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}")
|
||||||
|
|||||||
Reference in New Issue
Block a user