class _SMSBase(object): def __init__(self): self._loadConfiguration() self.sender_plugin_name = config.get('sms.sender.plugin', None) self.receiver_plugin_name = config.get('sms.receiver.plugin', None) self._plugin = None self._preparePlugin() def _preparePlugin(self): pass def _loadConfiguration(self): self._config_loader = Configuration(implementation="yml") self._config_loader.loadExtension("sms", getDefaultConfigPath()) try: self._config_loader.load("sms", config.get('project.paths.config')) except ConfigurationNotFound, e: log.error(e)
class CherryPyWebExt(object): """docstring for CherryPyWebExt""" def __init__(self, parent, override_config=None): super(CherryPyWebExt, self).__init__() log.debug("CherryPyWebExt::__init__") self.parent = parent self.dispatcher = None self._loadConfiguration() if override_config: config['cherrypy'].update(override_config.copy()) cherrypy.config.update(config.get('cherrypy.global', {})) if not cherrypy.tools.staticdir.root: cherrypy.config.update({ 'tools.staticdir.root': self.parent.base_path }) route_mounts = config.get('cherrypy.mounts') self._route_config = {} for base_path, routes in self.parent.routes.iteritems(): if not self._route_config.has_key(base_path): self._route_config[base_path] = {} self._route_config[base_path].update({ 'request.dispatch': self._setup_routes(routes) }) for point, conf in route_mounts.iteritems(): if not self._route_config.has_key(point): self._route_config[point] = {} self._route_config[point].update(conf) multilang_config = config.get('cherrypy.multilang') localedir = os.path.join(self.parent.base_path, 'i18n') if multilang_config.get('enabled'): for key, conf in multilang_config.get('map').iteritems(): cherrypy.tree.apps['/'+key] = InGoMultilangApp(conf.get('lang'), localedir, conf.get('path'), self._route_config) if multilang_config.get('default') == key: cherrypy.tree.apps[''] = InGoMultilangApp(conf.get('lang'), localedir, config.get('cherrypy.root_path'), self._route_config) else: cherrypy.tree.apps[''] = InGoMultilangApp(multilang_config.get('default'), localedir, config.get('cherrypy.root_path'), self._route_config) #cherrypy.tree.mount(None, script_name=self.config.get('root_path'), config=self._route_config) self._env = { 'app': cherrypy.request.app, 'ingo_app': self.parent, 'basedir': self.parent.base_path } @property def env(self): return self._env @property def request(self): return cherrypy.request @property def map(self): return self.dispatcher.mapper def run(self): cherrypy.quickstart() def _loadConfiguration(self): self._config_loader = Configuration(implementation="yml") self._config_loader.loadExtension("cherrypy", getDefaultConfigPath()) try: self._config_loader.load("cherrypy", config.get('project.paths.config')) except ConfigurationNotFound, e: log.error(e)