zooappslib module
#-import library
import os, sys, glob
import logging
#-import others library
import parameters
#-classs definition
class Zooapps:
"""
Zooapps plugins manager application.
"""
def __init__(self, params = {}):
self.version = '0.0.1.alpha'
self.plugin_ext = 'zooapps-plugin'
self.params = params
self.plugins = {}
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
filename=os.path.dirname(os.path.abspath(__file__)) + os.path.sep + 'zooappslib.log',
filemode='a')
def setPluginsDir(self, plugin_dir):
self.params['PLUGIN_DIR'] = plugin_dir
def registerPlugins(self, plugins):
self.plugins[plugins['PLUGIN_NAME']] = plugins['MODULE']
logging.info('Register plugins ' + plugins['PLUGIN_NAME'] + '.')
def removePlugins(self, plugin_name):
self.plugins.pop(plugin_name)
logging.info('Remove plugins ' + plugin_name + '.')
def loadPlugins(self):
logging.info('Loading plugins ' + self.params['PLUGIN_NAME'])
if self.checkPlugins() == True:
if self.checkSuffix() == True:
cfg = self.loadParameters()
sys.path.append(self.params['PLUGIN_DIR'])
obj = __import__(cfg['MODULE'])
cfg['MODULE'] = obj
return cfg
return None
def checkSuffix(self):
logging.info('Validating plugins ' + self.params['PLUGIN_NAME'])
if self.params['PLUGIN_NAME'].endswith(self.plugin_ext):
return True
logging.warning('Invalid Plugins ' + self.params['PLUGIN_NAME'] + '.')
return False
def checkPlugins(self):
if os.path.exists(self.params['PLUGIN_DIR'] + os.path.sep + self.params['PLUGIN_NAME']):
return True
logging.warning('Plugins ' + self.params['PLUGIN_NAME'] + ' not found.')
return False
def loadParameters(self):
par = parameters.Parameter()
cfg = par.getParams(self.params['PLUGIN_DIR'] + os.path.sep + self.params['PLUGIN_NAME'])
return cfg
Download zooappslib module.
About this entry
You’re currently reading “zooappslib module,” an entry on Zhobur's
- Published:
- May 28, 2009 / 7:56 am
- Category:
- Python
- Tags:
No comments yet
Jump to comment form | comment rss [?] | trackback uri [?]