示例#1
0
 def __setitem__(self, key, value):
     """
     Set ``key`` to ``value``.
     """
     if self.__locked:
         raise AttributeError(
             SET_ERROR % (self.__class__.__name__, key, value)
         )
     check_name(key)
     if key in self.__d:
         raise AttributeError(OVERRIDE_ERROR %
             (self.__class__.__name__, key, self.__d[key], value)
         )
     assert not hasattr(self, key)
     if isinstance(value, six.string_types):
         value = value.strip()
         if isinstance(value, bytes):
             value = value.decode('utf-8')
         m = {
             'True': True,
             'False': False,
             'None': None,
             '': None,
         }
         if value in m:
             value = m[value]
         elif value.isdigit():
             value = int(value)
         elif key == 'basedn':
             value = DN(value)
     if type(value) not in (unicode, int, float, bool, type(None), DN):
         raise TypeError(key, value)
     object.__setattr__(self, key, value)
     self.__d[key] = value
示例#2
0
 def __setitem__(self, key, value):
     """
     Set ``key`` to ``value``.
     """
     if self.__locked:
         raise AttributeError(SET_ERROR %
                              (self.__class__.__name__, key, value))
     check_name(key)
     if key in self.__d:
         raise AttributeError(
             OVERRIDE_ERROR %
             (self.__class__.__name__, key, self.__d[key], value))
     assert not hasattr(self, key)
     if isinstance(value, six.string_types):
         value = value.strip()
         if isinstance(value, bytes):
             value = value.decode('utf-8')
         m = {
             'True': True,
             'False': False,
             'None': None,
             '': None,
         }
         if value in m:
             value = m[value]
         elif value.isdigit():
             value = int(value)
         elif key == 'basedn':
             value = DN(value)
     if type(value) not in (unicode, int, float, bool, type(None), DN):
         raise TypeError(key, value)
     object.__setattr__(self, key, value)
     # pylint: disable=unsupported-assignment-operation
     self.__d[key] = value