示例#1
0
    def set(self, key, value):
        """Change a configuration value.

        These changes will be persistent right away.
        """
        key_str = self.optionxform(key)
        value_str = to_unicode(value)
        self._cache.pop(key_str, None)
        option_key = {
            'product': self.product,
            'section': self.name,
            'option': key_str,
        }
        try:
            setting = ProductSetting(self.env, option_key)
        except ResourceNotFound:
            if value is not None:
                # Insert new record in the database
                setting = ProductSetting(self.env)
                setting._data.update(option_key)
                setting._data['value'] = value_str
                self.env.log.debug('Writing option %s', setting._data)
                setting.insert()
        else:
            if value is None:
                # Delete existing record from the database
                # FIXME : Why bother with setting overriden
                self.overridden[key] = True
                setting.delete()
            else:
                # Update existing record
                setting._data['value'] = value
                setting.update()
示例#2
0
    def set(self, key, value):
        """Change a configuration value.

        These changes will be persistent right away.
        """
        key_str = self.optionxform(key)
        value_str = to_unicode(value)
        self._cache.pop(key_str, None)
        option_key = {
            'product': self.product,
            'section': self.name,
            'option': key_str,
        }
        try:
            setting = ProductSetting(self.env, option_key)
        except ResourceNotFound:
            if value is not None:
                # Insert new record in the database
                setting = ProductSetting(self.env)
                setting._data.update(option_key)
                setting._data['value'] = value_str
                self.env.log.debug('Writing option %s', setting._data)
                setting.insert()
        else:
            if value is None:
                # Delete existing record from the database
                # FIXME : Why bother with setting overriden
                self.overridden[key] = True
                setting.delete()
            else:
                # Update existing record
                setting._data['value'] = value
                setting.update()
示例#3
0
    def remove(self, key):
        """Delete a key from this section.

        Like for `set()`, the changes won't persist until `save()` gets called.
        """
        key_str = self.optionxform(key)
        option_key = {
            'product': self.product,
            'section': self.name,
            'option': key_str
        }
        try:
            setting = ProductSetting(self.env, keys=option_key)
        except ResourceNotFound:
            self.env.log.warning("No record for product option %s", option_key)
        else:
            self._cache.pop(key, None)
            setting.delete()
            self.env.log.info("Removing product option %s", option_key)
示例#4
0
    def remove(self, key):
        """Delete a key from this section.

        Like for `set()`, the changes won't persist until `save()` gets called.
        """
        key_str = self.optionxform(key)
        option_key = {
            'product': self.product,
            'section': self.name,
            'option': key_str,
        }
        try:
            setting = ProductSetting(self.env, keys=option_key)
        except ResourceNotFound:
            self.env.log.warning("No record for product option %s", option_key)
        else:
            self._cache.pop(key, None)
            setting.delete()
            self.env.log.info("Removing product option %s", option_key)