From 39d12a4a44fe0a2b386ba9562833f8bf6f6275f2 Mon Sep 17 00:00:00 2001 From: Santhosh Thottingal Date: Wed, 22 Apr 2009 23:39:53 +0530 Subject: Adding Dictionary Module to Silpa --- silpa/index.py | 1 + silpa/modules/__init__.py | 4 +- silpa/modules/dictionary/dictionary.py | 70 ++++++++++++++++++++++++++++++++++ silpa/silpa.conf | 15 +++++--- 4 files changed, 83 insertions(+), 7 deletions(-) create mode 100644 silpa/modules/dictionary/dictionary.py diff --git a/silpa/index.py b/silpa/index.py index 91798a1..8a44a15 100644 --- a/silpa/index.py +++ b/silpa/index.py @@ -15,6 +15,7 @@ def index(form): response=SilpaResponse() if(action): module_manager=ModuleManager() + action=action.replace(" ","_") module_instance = module_manager.getModuleInstance(action) if(module_instance): response.setBreadcrumb(module_instance.get_module_name()) diff --git a/silpa/modules/__init__.py b/silpa/modules/__init__.py index 7a3b875..c46904b 100644 --- a/silpa/modules/__init__.py +++ b/silpa/modules/__init__.py @@ -1,10 +1,12 @@ #! /usr/bin/env python # -*- coding: utf-8 -*- -from lemmatizer import * +from stemmer import * from payyans import * from transliterator import * from syllabalizer import * from guesslanguages import * from hyphenator import * from fortune import * +from inexactsearch import * +from dictionary import * diff --git a/silpa/modules/dictionary/dictionary.py b/silpa/modules/dictionary/dictionary.py new file mode 100644 index 0000000..7ba877a --- /dev/null +++ b/silpa/modules/dictionary/dictionary.py @@ -0,0 +1,70 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- +# English Malayalam Dictionary +# Copyright 2008 Santhosh Thottingal +# http://www.smc.org.in +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Library General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# If you find any bugs or have any suggestions email: santhosh.thottingal@gmail.com +# URL: http://www.smc.org.in + + +from common import * +import os +import pickle +class Dictionary(SilpaModule): + + def lookup_en_ml(self, key): + self.dictFile=os.path.dirname(__file__) + "/data/dict.dat" + pickled_dict=open(self.dictFile,'r') + self.dictionary=pickle.load(pickled_dict) + meaning="" + if self.dictionary.has_key(key): + meaningList=self.dictionary[key] + for meaning_item in meaningList: + meaning=meaning+meaning_item.strip() +"
" + else : + meaning="No Meaning found" + return meaning.decode('utf-8') + def process(self,form): + response = """ +

English Malayalam Dictionary

+

Enter the word to lookup in the dictionary +

+
+ + +
+
+ """ + if(form.has_key('word')): + search_key = form['word'].value.decode('utf-8') + response=response % search_key + response = response+"

Search Results

" + if(search_key==None): + response = response+ "Enter a word to find meaning." + else: + response = response+ self.lookup_en_ml(search_key) + else: + response=response % "" + return response + def get_module_name(self): + return "English Malayalam Dictionary" + def get_info(self): + return "English Malayalam Dictionary. Dictionary is compiled by Kerala state IT Mission" + +def getInstance(): + return Dictionary() diff --git a/silpa/silpa.conf b/silpa/silpa.conf index 2323b33..7e47cad 100644 --- a/silpa/silpa.conf +++ b/silpa/silpa.conf @@ -14,13 +14,16 @@ SILPA_SITE_COPYRIGHT= Copyright 2008-2009. Silpa Team. All rights Reserved. #Action names should be unique. and should be prefixed with "SILPA_ACTION." #TO disable an action, comment out the line #An example entry -#SILPA_ACTION.sort=modules.sort #comment at the end of line is also allowed +#SILPA_ACTION.Sort=modules.sort #comment at the end of line is also allowed SILPA_ACTION.Transliterate=modules.transliterate #transliterator module -SILPA_ACTION.Lemmatize=modules.lemmatizer #Lemmatizer module for Indian Languages -SILPA_ACTION.Detect Language=utils #This is also a valid module -SILPA_ACTION.Guess Language=modules.guess_language #This is also a valid module -SILPA_ACTION.To Unicode=modules.payyans #Ascii to Unicode conversion Module -SILPA_ACTION.To ASCII=modules.payyans #Unicode to Ascii conversion Module +SILPA_ACTION.Stem=modules.stemmer #stemmer module for Indian Languages +SILPA_ACTION.Detect_Language=utils #This is also a valid module +SILPA_ACTION.Guess_Language=modules.guess_language #This is also a valid module +SILPA_ACTION.To_Unicode=modules.payyans #Ascii to Unicode conversion Module +SILPA_ACTION.To_ASCII=modules.payyans #Unicode to Ascii conversion Module SILPA_ACTION.Syllabalize=modules.syllabalizer #Syllabalizer module SILPA_ACTION.Hyphenate=modules.hyphenator #Syllabalizer module +SILPA_ACTION.Find_Meaning=modules.dictionary #English Malayalam Module +SILPA_ACTION.Fortune=modules.fortune #Syllabalizer module +SILPA_ACTION.Approximate_Search=modules.inexactsearch #Approximate search #End of Silpa configuration file -- cgit