From 8ae27430262eb93f987270f9eb5753ac3bfd48c5 Mon Sep 17 00:00:00 2001 From: sonny Date: Sun, 24 May 2020 12:23:43 +0200 Subject: [PATCH] Add migrations & use default publication_date --- .../migrations/0009_auto_20200524_1218.py | 28 +++++++++++++++++++ src/newsreader/news/collection/feed.py | 3 +- src/newsreader/news/collection/utils.py | 4 +-- .../migrations/0006_auto_20200524_1218.py | 18 ++++++++++++ 4 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 src/newsreader/accounts/migrations/0009_auto_20200524_1218.py create mode 100644 src/newsreader/news/core/migrations/0006_auto_20200524_1218.py diff --git a/src/newsreader/accounts/migrations/0009_auto_20200524_1218.py b/src/newsreader/accounts/migrations/0009_auto_20200524_1218.py new file mode 100644 index 0000000..3b01b0f --- /dev/null +++ b/src/newsreader/accounts/migrations/0009_auto_20200524_1218.py @@ -0,0 +1,28 @@ +# Generated by Django 3.0.5 on 2020-05-24 10:18 + +import django.db.models.deletion + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("django_celery_beat", "0012_periodictask_expire_seconds"), + ("accounts", "0008_auto_20200422_2243"), + ] + + operations = [ + migrations.AlterField( + model_name="user", + name="task", + field=models.OneToOneField( + blank=True, + editable=False, + null=True, + on_delete=django.db.models.deletion.CASCADE, + to="django_celery_beat.PeriodicTask", + verbose_name="collection task", + ), + ) + ] diff --git a/src/newsreader/news/collection/feed.py b/src/newsreader/news/collection/feed.py index b14f375..d64ab09 100644 --- a/src/newsreader/news/collection/feed.py +++ b/src/newsreader/news/collection/feed.py @@ -82,8 +82,7 @@ class FeedBuilder(Builder): value = self.truncate_text(model_field, entry[field]) if field == "published_parsed": - aware_datetime, created = build_publication_date(value, tz) - data[model_field] = aware_datetime if created else None + data[model_field] = build_publication_date(value, tz) elif field == "summary": summary = self.sanitize_fragment(value) data[model_field] = summary diff --git a/src/newsreader/news/collection/utils.py b/src/newsreader/news/collection/utils.py index fd6ab0a..9a2e456 100644 --- a/src/newsreader/news/collection/utils.py +++ b/src/newsreader/news/collection/utils.py @@ -15,9 +15,9 @@ def build_publication_date(dt, tz): naive_datetime = datetime(*dt[:6]) published_parsed = timezone.make_aware(naive_datetime, timezone=tz) except (TypeError, ValueError): - return None, False + return timezone.now() - return published_parsed.astimezone(pytz.utc), True + return published_parsed.astimezone(pytz.utc) def fetch(url): diff --git a/src/newsreader/news/core/migrations/0006_auto_20200524_1218.py b/src/newsreader/news/core/migrations/0006_auto_20200524_1218.py new file mode 100644 index 0000000..f90b205 --- /dev/null +++ b/src/newsreader/news/core/migrations/0006_auto_20200524_1218.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.5 on 2020-05-24 10:18 + +import django.utils.timezone + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [("core", "0005_auto_20200412_1955")] + + operations = [ + migrations.AlterField( + model_name="post", + name="publication_date", + field=models.DateTimeField(default=django.utils.timezone.now), + ) + ]