Example #1
0
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)
Example #2
0
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)