Bugfix: default missing date components to 1, not today's

Fixes: #2660.
This commit is contained in:
Adeodato Simó 2023-10-15 19:49:00 -03:00
parent 8f0f3e6ace
commit c066d11eb1
No known key found for this signature in database
GPG key ID: CDF447845F1A986F

View file

@ -1,4 +1,5 @@
""" track progress of goodreads imports """ """ track progress of goodreads imports """
from datetime import datetime
import math import math
import re import re
import dateutil.parser import dateutil.parser
@ -260,17 +261,14 @@ class ImportItem(models.Model):
return None return None
def _parse_datefield(self, field, /): def _parse_datefield(self, field, /):
if self.normalized_data.get(field): if not (date := self.normalized_data.get(field)):
parsed_date_added = dateutil.parser.parse( return None
self.normalized_data.get(field)
)
if timezone.is_aware(parsed_date_added): defaults = datetime(1970, 1, 1) # "2022-10" => "2022-10-01"
# Keep timezone if import already had one parsed = dateutil.parser.parse(date, default=defaults)
return parsed_date_added
return timezone.make_aware(parsed_date_added) # Keep timezone if import already had one, else use default.
return None return parsed if timezone.is_aware(parsed) else timezone.make_aware(parsed)
@property @property
def date_added(self): def date_added(self):