summaryrefslogtreecommitdiffstats
path: root/core/randSent.py
diff options
context:
space:
mode:
authorsubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-07-02 20:43:18 +0100
committersubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-07-02 20:43:18 +0100
commitae3fe8cd423be5268d630a498361e376c6add776 (patch)
tree1cf7409b5377484ba38d8feba94a893abb7d8611 /core/randSent.py
parentc0b274767b5c0ed209b9ff03679519e2d2170134 (diff)
downloadtroggle-ae3fe8cd423be5268d630a498361e376c6add776.tar.gz
troggle-ae3fe8cd423be5268d630a498361e376c6add776.tar.bz2
troggle-ae3fe8cd423be5268d630a498361e376c6add776.zip
[svn] Renaming troggle.expo to troggle.core. To do this, used:
perl -p -i -e "s/expo(?=[\s\.']+)/core/g" `find -name \*.py` and then manually checked each change (had to remove a couple)
Diffstat (limited to 'core/randSent.py')
-rw-r--r--core/randSent.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/core/randSent.py b/core/randSent.py
new file mode 100644
index 0000000..efcc005
--- /dev/null
+++ b/core/randSent.py
@@ -0,0 +1,32 @@
+import troggle.settings as settings
+from django import forms
+from troggle.core.models import LogbookEntry
+import random
+import re
+
+def weighted_choice(lst):
+ n = random.uniform(0,1)
+ for item, weight in lst:
+ if n < weight:
+ break
+ n = n - weight
+ return item
+
+def randomLogbookSentence():
+ randSent={}
+
+ # needs to handle empty logbooks without crashing
+
+ #Choose a random logbook entry
+ randSent['entry']=LogbookEntry.objects.order_by('?')[0]
+
+ #Choose again if there are no sentances (this happens if it is a placeholder entry)
+ while len(re.findall('[A-Z].*?\.',randSent['entry'].text))==0:
+ randSent['entry']=LogbookEntry.objects.order_by('?')[0]
+
+ #Choose a random sentence from that entry. Store the sentence as randSent['sentence'], and the number of that sentence in the entry as randSent['number']
+ sentenceList=re.findall('[A-Z].*?\.',randSent['entry'].text)
+ randSent['number']=random.randrange(0,len(sentenceList))
+ randSent['sentence']=sentenceList[randSent['number']]
+
+ return randSent