X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/c33d271961f93aecf731282303af150a556cb48b..01a22232d4c5bfd6c496842f9cb19b64b6b01520:/apps/lesmianator/views.py?ds=inline

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