Example #1
0
 def set_value(self, obj, value=None):
     if value is None:
         if self.default is not None:
             value = self.default
         elif self.mandatory:
             msg = 'No values specified for mandatory parameter {} in {}'
             raise ConfigError(msg.format(self.name, obj.name))
     else:
         try:
             value = self.kind(value)
         except (ValueError, TypeError):
             typename = self.get_type_name()
             msg = 'Bad value "{}" for {}; must be {} {}'
             article = get_article(typename)
             raise ConfigError(
                 msg.format(value, self.name, article, typename))
     current_value = getattr(obj, self.name, None)
     if current_value is None:
         setattr(obj, self.name, value)
     elif not isiterable(current_value):
         setattr(obj, self.name, value)
     else:
         new_value = current_value + [value]
         setattr(obj, self.name, new_value)
     if value is not None:
         if self.allowed_values:
             self._validate_allowed_values(obj, value)
         if self.constraint:
             self._validate_constraint(obj, value)
 def set_value(self, obj, value=None):
     if value is None:
         if self.default is not None:
             value = self.default
         elif self.mandatory:
             msg = 'No values specified for mandatory parameter {} in {}'
             raise ConfigError(msg.format(self.name, obj.name))
     else:
         try:
             value = self.kind(value)
         except (ValueError, TypeError):
             typename = self.get_type_name()
             msg = 'Bad value "{}" for {}; must be {} {}'
             article = get_article(typename)
             raise ConfigError(msg.format(value, self.name, article, typename))
     current_value = getattr(obj, self.name, None)
     if current_value is None:
         setattr(obj, self.name, value)
     elif not isiterable(current_value):
         setattr(obj, self.name, value)
     else:
         new_value = current_value + [value]
         setattr(obj, self.name, new_value)
     if value is not None:
         if self.allowed_values:
             self._validate_allowed_values(obj, value)
         if self.constraint:
             self._validate_constraint(obj, value)
    def get_extension_class(self, name, kind=None):
        """
        Return the class for the specified extension if found or raises ``ValueError``.

        """
        name, _ = self.resolve_alias(name)
        if kind is None:
            return self.extensions[name]
        ext = self.extension_kinds.get(kind)
        if ext is None:
            raise ValueError('Unknown extension type: {}'.format(kind))
        store = self._get_store(ext)
        if name not in store:
            raise NotFoundError('Extensions {} is not {} {}.'.format(name, get_article(kind), kind))
        return store[name]
Example #4
0
    def get_extension_class(self, name, kind=None):
        """
        Return the class for the specified extension if found or raises ``ValueError``.

        """
        name, _ = self.resolve_alias(name)
        if kind is None:
            return self.extensions[name]
        ext = self.extension_kinds.get(kind)
        if ext is None:
            raise ValueError('Unknown extension type: {}'.format(kind))
        store = self._get_store(ext)
        if name not in store:
            raise NotFoundError('Extensions {} is not {} {}.'.format(name, get_article(kind), kind))
        return store[name]