X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4dc96918a2e2df441c282a7abbb89235ecb4f2f7..f50547bf7df00ce8312959afab42c8d8998d8c73:/apps/lesmianator/views.py?ds=sidebyside diff --git a/apps/lesmianator/views.py b/apps/lesmianator/views.py index 231ab5c96..2d6d53fc5 100644 --- a/apps/lesmianator/views.py +++ b/apps/lesmianator/views.py @@ -1,12 +1,10 @@ # Create your views here. -import pickle +import cPickle from django.shortcuts import render_to_response from django.template import RequestContext from random import randint -import os.path - def _choose_word(word): try: @@ -21,9 +19,11 @@ def _choose_word(word): return '' # load dictionary on start, it won't change +from django.conf import settings + try: - f = open(os.path.join(os.path.dirname(__file__), 'dictionary.p')) - _dictionary = pickle.load(f) + f = open(settings.LESMIANATOR_PICKLE) + _dictionary = cPickle.load(f) except: _dictionary = {} @@ -33,14 +33,22 @@ def poem(request): word = u'' empty = -10 left = 1000 + lines = 0 if not _dictionary: left = 0 - while empty != 3 and left: + # want at least two lines, but let Lesmianator end his stanzas + while (empty < 2 or lines < 2) and left: letter = _choose_word(word) letters.append(letter) word = word[-2:] + letter if letter == u'\n': - empty += 1 + # count non-empty lines + if empty == 0: + lines += 1 + # + if lines >= 2: + empty += 1 + lines += 1 else: empty = 0 left -= 1