From f41edd21569dcaeef2f0c8cb90911b3f27f1fc2c Mon Sep 17 00:00:00 2001 From: Oliver Marks Date: Sat, 22 Sep 2018 17:48:55 +0100 Subject: [PATCH] Fix local celery, change admin area import articles to a task --- config/settings/local.py | 2 +- local.yml | 4 ++-- mhackspace/feeds/admin.py | 33 +++++++++++++++++++-------------- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/config/settings/local.py b/config/settings/local.py index eb5d102..bc59e8c 100644 --- a/config/settings/local.py +++ b/config/settings/local.py @@ -33,7 +33,7 @@ TEST_RUNNER = 'django.test.runner.DiscoverRunner' ########## CELERY # In development, all tasks will be executed locally by blocking until the task returns -# CELERY_ALWAYS_EAGER = True +CELERY_ALWAYS_EAGER = True ########## END CELERY # Your local stuff: Below this line define 3rd party library settings diff --git a/local.yml b/local.yml index 00d8c5b..93f42b6 100644 --- a/local.yml +++ b/local.yml @@ -77,7 +77,7 @@ services: celeryworker: build: context: . - dockerfile: ./compose/django/Dockerfile + dockerfile: ./compose/django/Dockerfile-dev env_file: .env volumes: - .:/app @@ -89,7 +89,7 @@ services: celerybeat: build: context: . - dockerfile: ./compose/django/Dockerfile + dockerfile: ./compose/django/Dockerfile-dev env_file: .env volumes: - .:/app diff --git a/mhackspace/feeds/admin.py b/mhackspace/feeds/admin.py index b388b32..ba08b51 100644 --- a/mhackspace/feeds/admin.py +++ b/mhackspace/feeds/admin.py @@ -4,36 +4,41 @@ from django.conf.urls import url from django.http import HttpResponseRedirect from django.urls import reverse +from mhackspace.base.tasks import update_homepage_feeds from mhackspace.feeds.models import Feed, Article from mhackspace.feeds.helper import import_feeds @admin.register(Feed) class FeedAdmin(ModelAdmin): - list_display = ('title', 'home_url', 'author', 'tags', 'enabled') - list_filter = ('enabled',) + list_display = ("title", "home_url", "author", "tags", "enabled") + list_filter = ("enabled",) @admin.register(Article) class ArticleAdmin(ModelAdmin): - date_hierarchy = 'date' - list_display = ('title', 'url', 'feed', 'date', 'displayed') - list_filter = ('displayed', 'feed', 'feed__author') - readonly_fields = ('original_image',) - ordering = ('-date',) + date_hierarchy = "date" + list_display = ("title", "url", "feed", "date", "displayed") + list_filter = ("displayed", "feed", "feed__author") + readonly_fields = ("original_image",) + ordering = ("-date",) def get_urls(self): urls = super(ArticleAdmin, self).get_urls() my_urls = [ - url(r'^import/$', self.admin_site.admin_view(self.import_articles)) + url(r"^import/$", self.admin_site.admin_view(self.import_articles)) ] return my_urls + urls def import_articles(self, request): - imported = import_feeds() - self.message_user(request, 'Successfully imported %s articles' % len(imported)) - return HttpResponseRedirect(reverse('admin:feeds_article_changelist')) + update_homepage_feeds.delay() + self.message_user( + request, + "Importing articles in background refresh in a few minutes", + ) + return HttpResponseRedirect(reverse("admin:feeds_article_changelist")) -admin.site.site_title = 'Maidstone Hackspace Admin Area' -admin.site.site_header = 'Maidstone Hackspace Admin Area' -admin.site.index_title = 'Maidstone Admin Home' + +admin.site.site_title = "Maidstone Hackspace Admin Area" +admin.site.site_header = "Maidstone Hackspace Admin Area" +admin.site.index_title = "Maidstone Admin Home"