X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/e4e3b8bd323e57df11b10e06e2a1fbf1b134ca54..e47b75737d714a11e22cf3f5bceadddbf340e3b3:/apps/lesmianator/management/commands/lesmianator.py diff --git a/apps/lesmianator/management/commands/lesmianator.py b/apps/lesmianator/management/commands/lesmianator.py index c0219214d..5412bee81 100644 --- a/apps/lesmianator/management/commands/lesmianator.py +++ b/apps/lesmianator/management/commands/lesmianator.py @@ -14,7 +14,7 @@ from django.conf import settings from catalogue.models import Book, Tag # extract text from text file -re_text = re_text = re.compile(r'\n{3,}(.*?)\n*-----\n', re.S).search +re_text = re.compile(r'\n{3,}(.*?)\n*-----\n', re.S).search class Command(BaseCommand): @@ -66,21 +66,22 @@ class Command(BaseCommand): print self.style.NOTICE('%s has no TXT file' % book.slug) skipped += 1 continue - with open(book.txt_file.path) as f: - m = re_text(f.read()) - if not m: - print self.style.ERROR("Unknown text format: %s" % book.slug) - skipped += 1 - continue - - processed += 1 - last_word = '' - text = unicode(m.group(1), 'utf-8').lower() - for letter in text: - mydict = lesmianator.setdefault(last_word, {}) - myval = mydict.setdefault(letter, 0) - mydict[letter] += 1 - last_word = last_word[-2:] + letter + f = open(book.txt_file.path) + m = re_text(f.read()) + if not m: + print self.style.ERROR("Unknown text format: %s" % book.slug) + skipped += 1 + continue + + processed += 1 + last_word = '' + text = unicode(m.group(1), 'utf-8').lower() + for letter in text: + mydict = lesmianator.setdefault(last_word, {}) + myval = mydict.setdefault(letter, 0) + mydict[letter] += 1 + last_word = last_word[-2:] + letter + f.close() if not processed: if skipped: