X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/4395564bb09e6b7d74cae3421f6342dd546b5619..b103d6f69bec99cbcc3eb2f0509d950f0a1c0642:/apps/catalogue/tasks.py diff --git a/apps/catalogue/tasks.py b/apps/catalogue/tasks.py index 53b867b4..9186705a 100644 --- a/apps/catalogue/tasks.py +++ b/apps/catalogue/tasks.py @@ -1,9 +1,13 @@ +# -*- coding: utf-8 -*- +# +# This file is part of MIL/PEER, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# from celery.task import task from django.utils import translation -from django.conf import settings -@task +@task(ignore_result=True) def _refresh_by_pk(cls, pk, language=None): prev_language = translation.get_language() language and translation.activate(language) @@ -12,31 +16,11 @@ def _refresh_by_pk(cls, pk, language=None): finally: translation.activate(prev_language) -if settings.USE_CELERY: - def refresh_instance(instance): - _refresh_by_pk.delay(type(instance), instance.pk, translation.get_language()) -else: - def refresh_instance(instance): - instance.refresh() +def refresh_instance(instance): + _refresh_by_pk.delay(type(instance), instance.pk, translation.get_language()) -@task -def _publishable_error(book, language=None): - prev_language = translation.get_language() - language and translation.activate(language) - try: - return book.assert_publishable() - except AssertionError, e: - return e - else: - return None - finally: - translation.activate(prev_language) -if settings.USE_CELERY: - def publishable_error(book): - task = _publishable_error.delay(book, translation.get_language()) - return task.wait() -else: - def publishable_error(book): - return _publishable_error(book) +@task(ignore_result=True) +def book_content_updated(book): + book.refresh_dc_cache()