0.2.3 #99
3 changed files with 9 additions and 9 deletions
|
|
@ -70,7 +70,7 @@ class FeedBuilder(Builder):
|
|||
value = self.truncate_text(model_field, entry[field])
|
||||
|
||||
if field == "published_parsed":
|
||||
created, aware_datetime = build_publication_date(value, tz)
|
||||
aware_datetime, created = build_publication_date(value, tz)
|
||||
data[model_field] = aware_datetime if created else None
|
||||
elif field == "summary":
|
||||
summary = self.sanitize_summary(value)
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ class FeedCollectorTestCase(TestCase):
|
|||
self.mocked_parse.return_value = duplicate_mock
|
||||
rule = CollectionRuleFactory()
|
||||
|
||||
_, aware_datetime = build_publication_date(
|
||||
aware_datetime, _ = build_publication_date(
|
||||
struct_time((2019, 5, 20, 16, 7, 37, 0, 140, 0)), pytz.utc
|
||||
)
|
||||
|
||||
|
|
@ -152,7 +152,7 @@ class FeedCollectorTestCase(TestCase):
|
|||
rule=rule,
|
||||
)
|
||||
|
||||
_, aware_datetime = build_publication_date(
|
||||
aware_datetime, _ = build_publication_date(
|
||||
struct_time((2019, 5, 20, 12, 19, 19, 0, 140, 0)), pytz.utc
|
||||
)
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ class FeedCollectorTestCase(TestCase):
|
|||
rule=rule,
|
||||
)
|
||||
|
||||
_, aware_datetime = build_publication_date(
|
||||
aware_datetime, _ = build_publication_date(
|
||||
struct_time((2019, 5, 20, 16, 32, 38, 0, 140, 0)), pytz.utc
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from datetime import datetime, tzinfo
|
||||
from time import mktime, struct_time
|
||||
from time import struct_time
|
||||
from typing import Tuple
|
||||
|
||||
from django.utils import timezone
|
||||
|
|
@ -14,11 +14,11 @@ from newsreader.news.collection.response_handler import ResponseHandler
|
|||
|
||||
def build_publication_date(dt: struct_time, tz: tzinfo) -> Tuple:
|
||||
try:
|
||||
naive_datetime = datetime.fromtimestamp(mktime(dt))
|
||||
naive_datetime = datetime(*dt[:6])
|
||||
published_parsed = timezone.make_aware(naive_datetime, timezone=tz)
|
||||
except TypeError:
|
||||
return False, None
|
||||
return True, published_parsed
|
||||
except (TypeError, ValueError):
|
||||
return None, False
|
||||
return published_parsed, True
|
||||
|
||||
|
||||
def fetch(url: str) -> Response:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue