perf: faster frappedict getattr

This commit is contained in:
Sagar Vora 2025-03-12 12:15:28 +05:30
parent 2b9aa25520
commit 04eee35b40
2 changed files with 11 additions and 1 deletions

View file

@ -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))

View file

@ -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 = [