diff options
Diffstat (limited to 'expo/randomLogbookSentance.py')
-rw-r--r-- | expo/randomLogbookSentance.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/expo/randomLogbookSentance.py b/expo/randomLogbookSentance.py new file mode 100644 index 0000000..d4d3f09 --- /dev/null +++ b/expo/randomLogbookSentance.py @@ -0,0 +1,24 @@ +import troggle.settings as settings
+from django import forms
+from expo.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():
+ #Choose a random logbook entry
+ randSent={}
+ 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
\ No newline at end of file |