X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/0106fe8da9cfe46723150db88c25c7e0736619e0..41c2520ea493330737e29cf1ef00ba1c199b517d:/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()