fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ticket #326: better UX in adding shelves.
[wolnelektury.git]
/
apps
/
lesmianator
/
views.py
diff --git
a/apps/lesmianator/views.py
b/apps/lesmianator/views.py
index
231ab5c
..
8936772
100644
(file)
--- a/
apps/lesmianator/views.py
+++ b/
apps/lesmianator/views.py
@@
-1,6
+1,6
@@
# 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
@@
-23,7
+23,7
@@
def _choose_word(word):
# load dictionary on start, it won't change
try:
f = open(os.path.join(os.path.dirname(__file__), 'dictionary.p'))
# load dictionary on start, it won't change
try:
f = open(os.path.join(os.path.dirname(__file__), 'dictionary.p'))
- _dictionary =
p
ickle.load(f)
+ _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