X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/9f46cd8bd84b9d2cd3febd80b3906260314de43f..29a0d33e9b44bfc99eedf000c8b60f6cff1815fa:/apps/catalogue/tasks.py?ds=inline diff --git a/apps/catalogue/tasks.py b/apps/catalogue/tasks.py index 1bb4bc96..9507c412 100644 --- a/apps/catalogue/tasks.py +++ b/apps/catalogue/tasks.py @@ -1,34 +1,25 @@ +# -*- coding: utf-8 -*- 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) + if language: + translation.activate(language) try: cls._default_manager.get(pk=pk).refresh() + except cls.DoesNotExist: + pass finally: translation.activate(prev_language) + 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) - -def publishable_error(book): - return _publishable_error.delay(book, - translation.get_language()).wait() +@task(ignore_result=True) +def book_content_updated(book): + book.refresh_dc_cache()