Skip to content

Commit 84ec086

Browse files
simplify ImmutableComputedVar.__get__ (#3902)
* simplify ImmutableComputedVar.__get__ * ruff it
1 parent fa89428 commit 84ec086

1 file changed

Lines changed: 5 additions & 38 deletions

File tree

reflex/ivars/base.py

Lines changed: 5 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
Literal,
2323
NoReturn,
2424
Optional,
25-
Sequence,
2625
Set,
2726
Tuple,
2827
Type,
@@ -1507,47 +1506,15 @@ def __get__(self, instance: BaseState | None, owner):
15071506
The value of the var for the given instance.
15081507
"""
15091508
if instance is None:
1510-
from reflex.state import BaseState
1511-
1512-
path_to_function = self.fget.__qualname__.split(".")
1513-
class_name_where_defined = (
1514-
path_to_function[-2] if len(path_to_function) > 1 else owner.__name__
1515-
)
1516-
1517-
def contains_class_name(states: Sequence[Type]) -> bool:
1518-
return any(c.__name__ == class_name_where_defined for c in states)
1519-
1520-
def is_not_mixin(state: Type[BaseState]) -> bool:
1521-
return not state._mixin
1522-
1523-
def length_of_state(state: Type[BaseState]) -> int:
1524-
return len(inspect.getmro(state))
1525-
1526-
class_where_defined = cast(
1527-
Type[BaseState],
1528-
min(
1529-
filter(
1530-
lambda state: state.__module__ == self.fget.__module__,
1531-
filter(
1532-
is_not_mixin,
1533-
filter(
1534-
lambda state: contains_class_name(
1535-
inspect.getmro(state)
1536-
),
1537-
inspect.getmro(owner),
1538-
),
1539-
),
1540-
),
1541-
default=owner,
1542-
key=length_of_state,
1543-
),
1544-
)
1509+
state_where_defined = owner
1510+
while self.fget.__name__ in state_where_defined.inherited_vars:
1511+
state_where_defined = state_where_defined.get_parent_state()
15451512

15461513
return self._replace(
1547-
_var_name=format_state_name(class_where_defined.get_full_name())
1514+
_var_name=format_state_name(state_where_defined.get_full_name())
15481515
+ "."
15491516
+ self._var_name,
1550-
merge_var_data=ImmutableVarData.from_state(class_where_defined),
1517+
merge_var_data=ImmutableVarData.from_state(state_where_defined),
15511518
).guess_type()
15521519

15531520
if not self._cache:

0 commit comments

Comments
 (0)