Example #1
0
 def read_config(self, *args, **kwargs):
     try:
         serialized = self.core.config_manager.get(self.MASTER_KEY)
     except (ConfigError, KeyError):
         self.warning('HttpOut not configured, default values loaded.')
         self.httpout_cfg = HttpOutConf()
     else:
         self.httpout_cfg = HttpOutConf.deserialize(serialized)
Example #2
0
class HttpOutComponent(AbstractNuConfComponent):
    NAME = "httpout"
    VERSION = "1.0"
    MASTER_KEY = NAME

    REQUIRES = ('config',)

    CONFIG = { 'host': '',
               'port': '',
               'user': '',
               'password': '',
             }

    CONFIG_DEPENDS = ()

    ROLES = {
        'conf_read': set(('getHttpOutConfig',)),
        'conf_write': set(('setHttpOutConfig',)),
    }

    def read_config(self, *args, **kwargs):
        try:
            serialized = self.core.config_manager.get(self.MASTER_KEY)
        except (ConfigError, KeyError):
            self.warning('HttpOut not configured, default values loaded.')
            self.httpout_cfg = HttpOutConf()
        else:
            self.httpout_cfg = HttpOutConf.deserialize(serialized)

    def apply_config(self, *unused):
        self.read_config()

    def save_config(self, message, context=None):
        with self.core.config_manager.begin(self, context) as cm:
            try:
                cm.delete(self.MASTER_KEY)
            except ConfigError:
                pass
            cm.set(self.MASTER_KEY, self.httpout_cfg.serialize())
            cm.commit(message)

    # Services:

    def service_getHttpOutConfig(self, context):
        return self.httpout_cfg.serialize()

    def service_setHttpOutConfig(self, context, serialized, message):
        self.httpout_cfg = HttpOutConf.deserialize(serialized)
        self.save_config(message, context)

    def service_status(self, context):
        """See service status"""
        return self.NAME, ServiceStatusValues.NOT_A_SERVICE
Example #3
0
 def service_setHttpOutConfig(self, context, serialized, message):
     self.httpout_cfg = HttpOutConf.deserialize(serialized)
     self.save_config(message, context)