X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/a06e9d248d2e085d9d071db24bc8cc1aa6dc8ed5..1f9103b1e752a6c41d2304bf5e41a7d6ae0c45c8:/apps/catalogue/models/listeners.py diff --git a/apps/catalogue/models/listeners.py b/apps/catalogue/models/listeners.py index cb106166e..373a2fcc8 100644 --- a/apps/catalogue/models/listeners.py +++ b/apps/catalogue/models/listeners.py @@ -40,6 +40,14 @@ def _pre_delete_handler(sender, instance, **kwargs): pre_delete.connect(_pre_delete_handler) +def _post_delete_handler(sender, instance, **kwargs): + """ refresh Book on BookMedia delete """ + if sender == Collection: + permanent_cache.delete('catalogue.collection:%s' % instance.slug) + permanent_cache.delete('catalogue.catalogue') +post_delete.connect(_post_delete_handler) + + def _post_save_handler(sender, instance, **kwargs): """ refresh all the short_html stuff on BookMedia update """ if sender == BookMedia: @@ -48,6 +56,7 @@ def _post_save_handler(sender, instance, **kwargs): 'catalogue.audiobook_list', 'catalogue.daisy_list']) elif sender == Collection: permanent_cache.delete('catalogue.collection:%s' % instance.slug) + permanent_cache.delete('catalogue.catalogue') post_save.connect(_post_save_handler) @@ -63,9 +72,5 @@ if not settings.NO_SEARCH_INDEX: """ remove the book from search index, when it is deleted.""" import search idx = search.Index() - idx.open(timeout=10000) # 10 seconds timeout. - try: - idx.remove_book(instance) - idx.index_tags() - finally: - idx.close() + idx.remove_book(instance) + idx.index_tags()