perf: faster frappedict getattr
This commit is contained in:
parent
2b9aa25520
commit
04eee35b40
2 changed files with 11 additions and 1 deletions
|
|
@ -24,6 +24,14 @@ class _dict(dict[_KT, _VT]):
|
|||
__delattr__ = dict.__delitem__
|
||||
__setstate__ = dict.update
|
||||
|
||||
@override
|
||||
def __getattribute__(self, name):
|
||||
if name in _dict_attributes:
|
||||
return object.__getattribute__(self, name)
|
||||
|
||||
if name in self:
|
||||
return self[name]
|
||||
|
||||
@override
|
||||
def __getstate__(self) -> Self:
|
||||
return self
|
||||
|
|
@ -51,3 +59,6 @@ class _dict(dict[_KT, _VT]):
|
|||
@override
|
||||
def copy(self) -> "_dict[_KT, _VT]":
|
||||
return _dict(self)
|
||||
|
||||
|
||||
_dict_attributes = frozenset(dir(_dict))
|
||||
|
|
|
|||
|
|
@ -226,7 +226,6 @@ files = [
|
|||
"frappe/types/__init__.py",
|
||||
"frappe/types/DF.py",
|
||||
"frappe/types/docref.py",
|
||||
"frappe/types/frappedict.py",
|
||||
"frappe/types/filter.py",
|
||||
]
|
||||
exclude = [
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue