# Fortune # -*- coding: utf-8 -*- # # Copyright © 2008 Santhosh Thottingal # Released under the GPLV3+ license import os,random from common import * class Fortune(SilpaModule): def fortunes(self,infile,pattern=None): """ Yield fortunes as lists of lines """ result = [] for line in infile: line=line.decode("utf-8") if line == "%\n": yield result result = [] else: if(pattern==None): result.append(line) else: if(line.find(pattern)==-1): result.append(line) if result: yield result def fortune_ml(self, word): filename="./modules/fortune/database/fortune-ml" """ Pick a random fortune from a file """ for index, fortune in enumerate(self.fortunes(file(filename),None)): if random.random() < (1.0 / (index+1)): chosen = fortune return "".join(chosen) def process(self, form): response = """

Fortune Malayalam

Enter the text for getting a random quote with the given string in the below text area.


""" if(form.has_key('input_text')): text = form['input_text'].value .decode('utf-8') else: text="" response=response % text result = self.fortune_ml(text) response = response+"

Random Quote

" response = response+""+result+"" return response def get_module_name(self): return "Fortune Malayalam" def get_info(self): return "Get/Search a random Malayalam quote " def getInstance(): return Fortune()