fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
log parallel job exceptions
[wolnelektury.git]
/
apps
/
catalogue
/
models.py
diff --git
a/apps/catalogue/models.py
b/apps/catalogue/models.py
index
a0f737f
..
0863d5b
100644
(file)
--- a/
apps/catalogue/models.py
+++ b/
apps/catalogue/models.py
@@
-31,6
+31,8
@@
from slughifi import slughifi
from sortify import sortify
from os import unlink
from sortify import sortify
from os import unlink
+import search
+
TAG_CATEGORIES = (
('author', _('author')),
('epoch', _('epoch')),
TAG_CATEGORIES = (
('author', _('author')),
('epoch', _('epoch')),
@@
-615,6
+617,7
@@
class Book(models.Model):
for b in books]
result = create_zip.delay(paths,
getattr(settings, "ALL_%s_ZIP" % format_.upper()))
for b in books]
result = create_zip.delay(paths,
getattr(settings, "ALL_%s_ZIP" % format_.upper()))
+ return result.wait()
def zip_audiobooks(self):
bm = BookMedia.objects.filter(book=self, type='mp3')
def zip_audiobooks(self):
bm = BookMedia.objects.filter(book=self, type='mp3')
@@
-622,6
+625,14
@@
class Book(models.Model):
result = create_zip.delay(paths, self.slug)
return result.wait()
result = create_zip.delay(paths, self.slug)
return result.wait()
+ def search_index(self):
+ idx = search.ReusableIndex()
+ idx.open()
+ try:
+ idx.index_book(self)
+ finally:
+ idx.close()
+
@classmethod
def from_xml_file(cls, xml_file, **kwargs):
# use librarian to parse meta-data
@classmethod
def from_xml_file(cls, xml_file, **kwargs):
# use librarian to parse meta-data
@@
-637,7
+648,8
@@
class Book(models.Model):
@classmethod
def from_text_and_meta(cls, raw_file, book_info, overwrite=False,
@classmethod
def from_text_and_meta(cls, raw_file, book_info, overwrite=False,
- build_epub=True, build_txt=True, build_pdf=True, build_mobi=True):
+ build_epub=True, build_txt=True, build_pdf=True, build_mobi=True,
+ search_index=True):
import re
# check for parts before we do anything
import re
# check for parts before we do anything
@@
-716,6
+728,9
@@
class Book(models.Model):
if not settings.NO_BUILD_MOBI and build_mobi:
book.build_mobi()
if not settings.NO_BUILD_MOBI and build_mobi:
book.build_mobi()
+ if not settings.NO_SEARCH_INDEX and search_index:
+ book.search_index()
+
book_descendants = list(book.children.all())
# add l-tag to descendants and their fragments
# delete unnecessary EPUB files
book_descendants = list(book.children.all())
# add l-tag to descendants and their fragments
# delete unnecessary EPUB files