Fix local celery, change admin area import articles to a task

This commit is contained in:
Oliver Marks 2018-09-22 17:48:55 +01:00
parent e88311cecd
commit f41edd2156
3 changed files with 22 additions and 17 deletions

View File

@ -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

View File

@ -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

View File

@ -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"