From c8a17ee264a269a59651936b34a960f4d40a9074 Mon Sep 17 00:00:00 2001 From: Santhosh Thottingal Date: Sun, 19 Jul 2009 18:32:04 +0530 Subject: JSON RPC Based new architecture and corresponding changes --- silpa/common/__init__.py | 3 ++- silpa/common/modulemanager.py | 24 +++++++++++++-------- silpa/common/silpamodule.py | 4 ++++ silpa/common/silparesponse.py | 50 +++++++++++++++++++++---------------------- 4 files changed, 46 insertions(+), 35 deletions(-) mode change 100644 => 100755 silpa/common/__init__.py mode change 100644 => 100755 silpa/common/modulemanager.py mode change 100644 => 100755 silpa/common/silpamodule.py (limited to 'silpa/common') diff --git a/silpa/common/__init__.py b/silpa/common/__init__.py old mode 100644 new mode 100755 index 29925b2..fd92e89 --- a/silpa/common/__init__.py +++ b/silpa/common/__init__.py @@ -1,6 +1,7 @@ #! /usr/bin/env python # -*- coding: utf-8 -*- -from silpamodule import SilpaModule +from silpamodule import SilpaModule ,ServiceMethod from silparesponse import SilpaResponse from modulemanager import ModuleManager + diff --git a/silpa/common/modulemanager.py b/silpa/common/modulemanager.py old mode 100644 new mode 100755 index c6185dd..d9e9511 --- a/silpa/common/modulemanager.py +++ b/silpa/common/modulemanager.py @@ -21,10 +21,12 @@ class ModuleManager: action=action.replace(" ","_") module_name = self.find_module(action) if(module_name): - try: - return self.import_module(module_name).getInstance() - except: - print dir(self.import_module(module_name)) + #print module_name + return self.import_module(module_name).getInstance() + #try: + # return self.import_module(module_name).getInstance() + #except: + # print dir(self.import_module(module_name)) else: return None def find_module(self,action): @@ -45,8 +47,12 @@ class ModuleManager: response = response+""+action.replace("_"," ")+"" response = response+"Error while retrieving module details" return response+"" -if __name__ == '__main__': - mm=ModuleManager() - print mm.getModuleInstance("lemmatize") - print mm.import_module("modules.lemmatizer").getInstance() - + def getAllModules(self): + modules=[] + module_dict=getModulesList () + for action in module_dict: + module_instance=self.getModuleInstance(action) + modules.append(module_instance) + modules.sort() + return modules + diff --git a/silpa/common/silpamodule.py b/silpa/common/silpamodule.py old mode 100644 new mode 100755 index 7c5a538..8ec1e00 --- a/silpa/common/silpamodule.py +++ b/silpa/common/silpamodule.py @@ -14,3 +14,7 @@ class SilpaModule: return "Module description" def process(self,object): return "Not Implemented" + +def ServiceMethod(fn): + fn.IsServiceMethod = True + return fn diff --git a/silpa/common/silparesponse.py b/silpa/common/silparesponse.py index 5bd8af3..d563846 100755 --- a/silpa/common/silparesponse.py +++ b/silpa/common/silparesponse.py @@ -1,39 +1,39 @@ #! /usr/bin/env python # -*- coding: utf-8 -*- from utils import * +from PyMeld import Meld + class SilpaResponse: def __init__(self): - self.response =getTemplate() - def toUnicode(self): - self.response=self.response.replace("$$SILPA_COPYRIGHT$$",getCopyrightInfo()); - return self.response.encode('utf-8') + xhtml = getTemplate() + self.page = Meld(xhtml) def toString(self): - self.response=self.response.replace("$$SILPA_COPYRIGHT$$",getCopyrightInfo()); - return self.response - def getResponse(self): - self.response=self.response.replace("$$SILPA_COPYRIGHT$$",getCopyrightInfo()); - return self.response + return str(self.page) + def __str__(self): + return str(self.page) def setBreadcrumb(self,navPath): if(navPath): - html= "
Home /" - html=html+navPath+"
" - self.response=self.response.replace("$$SILPA_BREADCRUMB$$",html) + html= "Home > " + html=html + navPath else: - html= "
Home
" - self.response=self.response.replace("$$SILPA_BREADCRUMB$$",html) - def setContent(self,value): + html="Home" + self.page.breadcrumb = html + def setForm(self,value): if(value): - self.response=self.response.replace("$$SILPA_CONTENT$$",value) - else: - self.response=self.response.replace("$$SILPA_CONTENT$$","") + self.page.form= value + def setResult(self,value): + if(value): + self.page.result= value def setErrorMessage(self,value): if(value): - self.response=self.response.replace("$$SILPA_ERROR$$",value) - else: - self.response=self.response.replace("$$SILPA_ERROR$$","") + self.page.errormessage = value def setSuccessMessage(self,value): if(value): - self.response=self.response.replace("$$SILPA_SUCCESS$$",value) - else: - self.response=self.response.replace("$$SILPA_SUCCESS$$","") - + self.page.successmessage = value + def setContent(self, value): + if value: + self.page.content = value + def setFooter(self, value): + if value: + self.page.footer = value + -- cgit