fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
opensearch for firefox
[wolnelektury.git]
/
apps
/
lesmianator
/
views.py
diff --git
a/apps/lesmianator/views.py
b/apps/lesmianator/views.py
index
231ab5c
..
2d6d53f
100644
(file)
--- a/
apps/lesmianator/views.py
+++ b/
apps/lesmianator/views.py
@@
-1,12
+1,10
@@
# Create your views here.
# Create your views here.
-import
p
ickle
+import
cP
ickle
from django.shortcuts import render_to_response
from django.template import RequestContext
from random import randint
from django.shortcuts import render_to_response
from django.template import RequestContext
from random import randint
-import os.path
-
def _choose_word(word):
try:
def _choose_word(word):
try:
@@
-21,9
+19,11
@@
def _choose_word(word):
return ''
# load dictionary on start, it won't change
return ''
# load dictionary on start, it won't change
+from django.conf import settings
+
try:
try:
- f = open(
os.path.join(os.path.dirname(__file__), 'dictionary.p')
)
- _dictionary =
p
ickle.load(f)
+ f = open(
settings.LESMIANATOR_PICKLE
)
+ _dictionary =
cP
ickle.load(f)
except:
_dictionary = {}
except:
_dictionary = {}
@@
-33,14
+33,22
@@
def poem(request):
word = u''
empty = -10
left = 1000
word = u''
empty = -10
left = 1000
+ lines = 0
if not _dictionary:
left = 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':
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
else:
empty = 0
left -= 1