from django.contrib.contenttypes import generic
from django.conf import settings
-from librarian import text
from catalogue.fields import JSONField
from catalogue.models import Book, Tag
def for_book(cls, book, length=3):
# count from this book only
output = StringIO()
- f = open(book.xml_file.path)
- text.transform(f, output, False, ('raw-text',))
- f.close()
+ wldoc = book.wldocument(parse_dublincore=False)
+ output = wldoc.as_text(('raw-text',)).get_string()
+ del wldoc
+
conts = {}
last_word = ''
- for letter in output.getvalue().decode('utf-8').strip().lower():
+ for letter in output.decode('utf-8').strip().lower():
mydict = conts.setdefault(last_word, {})
mydict.setdefault(letter, 0)
mydict[letter] += 1