Fix object item assignment.

This commit is contained in:
Alex Root Junior 2017-10-21 20:56:48 +03:00
parent 89dc148ef5
commit 4bf5409295
2 changed files with 5 additions and 7 deletions

View file

@ -183,15 +183,13 @@ class TelegramObject(metaclass=MetaTelegramObject):
def __getitem__(self, item): def __getitem__(self, item):
if item in self.props: if item in self.props:
return getattr(self, item) return self.props[item].get_value(self)
elif item in self.values: raise KeyError(item)
return self.values[item]
def __setitem__(self, key, value): def __setitem__(self, key, value):
if key in self.props: if key in self.props:
setattr(self, key, value) return self.props[key].set_value(self, value, self.conf.get('parent', None))
else: raise KeyError(key)
self.values[key] = value
def __contains__(self, item): def __contains__(self, item):
self.clean() self.clean()

View file

@ -71,7 +71,7 @@ class BaseField(metaclass=abc.ABCMeta):
pass pass
@abc.abstractmethod @abc.abstractmethod
def deserialize(self, value): def deserialize(self, value, parent=None):
"""Deserialize python object value to TelegramObject value""" """Deserialize python object value to TelegramObject value"""
pass pass