Пример #1
0
 def init(self, **kwargs):
     self._api = kwargs.pop('api', None)
     try:
         urls = self._URL
     except AttributeError:
         urls = None
     self._data = DataContainer(urls=urls, api=self._api)
     self._dirty = {}
     self._compound_cache = {}
     for k, v in kwargs.items():
         if k in fields:
             # handle compound fields
             if isinstance(fields[k], CompoundField):
                 fields[k].validate(v)
                 self._data[k] = v
                 kwargs = dict(**v)
                 kwargs.update({'api': self._api})
                 self._compound_cache[k] = fields[k].cls(**kwargs)
             # handle compound list fields
             elif isinstance(fields[k], CompoundListField):
                 fields[k].validate(v)
                 self._data[k] = [item for item in v]
                 self._compound_cache[k] = []
                 for item in v:
                     kwargs = dict(**item)
                     kwargs.update({'api': self._api})
                     self._compound_cache[k].append(
                         fields[k].cls(**kwargs))
             else:
                 fields[k].validate(v)
                 self._data[k] = v
Пример #2
0
            def init(self, **kwargs):
                self._api = kwargs.pop('api', None)
                urls = getattr(self, '_URL', None)
                self._data = DataContainer(urls=urls, api=self._api)
                self._dirty = {}
                for k, v in kwargs.items():
                    if k in fields:
                        value = fields[k].validate(v)
                        self._data[k] = value

                self._old = copy.deepcopy(self._data.data)
Пример #3
0
 def init(self, **kwargs):
     self._api = kwargs.pop('api', None)
     try:
         urls = self._URL
     except AttributeError:
         urls = None
     self._data = DataContainer(urls=urls, api=self._api)
     self._dirty = {}
     for k, v in kwargs.items():
         if k in fields:
             value = fields[k].validate(v)
             self._data[k] = value
Пример #4
0
            def init(self, **kwargs):
                self._api = kwargs.pop('api', None)
                urls = getattr(self, '_URL', None)
                self._data = DataContainer(
                    urls=urls, api=self._api, parent=self
                )
                self._dirty = {}
                for key, value in kwargs.items():
                    if key in fields:
                        validated_value = fields[key].validate(value)
                        self._data[key] = validated_value

                self._old = copy.deepcopy(self._data.data)