core: fix __setattr__ behavior for setters
This commit is contained in:
parent
1669b3fd7a
commit
02d8d5a569
|
@ -118,10 +118,12 @@ class WeegeeBase:
|
|||
return self.item[name]
|
||||
|
||||
def __setattr__(self, name: str, value: Any) -> None:
|
||||
if 'item' in self.__dict__ and self.item.is_type_resolved(name):
|
||||
self.item[name] = value
|
||||
else:
|
||||
super().__setattr__(name, value)
|
||||
if 'item' in self.__dict__:
|
||||
desc = getattr(self.__class__, name, None)
|
||||
if not isinstance(desc, property) and self.item.is_type_resolved(name):
|
||||
self.item[name] = value
|
||||
return
|
||||
super().__setattr__(name, value)
|
||||
|
||||
def __dir__(self) -> List[str]:
|
||||
return list(super().__dir__()) + list(self.item.values)
|
||||
|
|
Loading…
Reference in New Issue