X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/0106fe8da9cfe46723150db88c25c7e0736619e0..6b780de1a5ee6c4e5acfb0cf4c8832a41e0b1a36:/apps/catalogue/models.py

diff --git a/apps/catalogue/models.py b/apps/catalogue/models.py
index cace1a596..ea09c048f 100644
--- a/apps/catalogue/models.py
+++ b/apps/catalogue/models.py
@@ -216,13 +216,16 @@ def book_upload_path(ext=None, maxlen=100):
     return lambda *args: get_dynamic_path(*args, ext=ext, maxlen=maxlen)
 
 
+def customizations_hash(customizations):
+    customizations.sort()
+    return hash(tuple(customizations))
+
+
 def get_customized_pdf_path(book, customizations):
     """
     Returns a MEDIA_ROOT relative path for a customized pdf. The name will contain a hash of customization options.
     """
-    customizations.sort()
-    h = hash(tuple(customizations))
-
+    h = customizations_hash(customizations)
     pdf_name = '%s-custom-%s' % (book.slug, h)
     pdf_file = get_dynamic_path(None, pdf_name, ext='pdf')
 
@@ -1084,9 +1087,11 @@ post_save.connect(_post_save_handler)
 @django.dispatch.receiver(post_delete, sender=Book)
 def _remove_book_from_index_handler(sender, instance, **kwargs):
     """ remove the book from search index, when it is deleted."""
+    search.JVM.attachCurrentThread()
     idx = search.Index()
     idx.open(timeout=10000)  # 10 seconds timeout.
     try:
         idx.remove_book(instance)
+        idx.index_tags()
     finally:
         idx.close()