fix immutable call var

This commit is contained in:
Khaleel Al-Adhami 2024-08-16 17:21:13 -07:00
parent 69f0d1db0b
commit 85c1590a70
3 changed files with 8 additions and 8 deletions

View File

@ -1113,10 +1113,7 @@ class App(MiddlewareMixin, LifespanMixin, Base):
Returns: Returns:
Task if the event was backgroundable, otherwise None Task if the event was backgroundable, otherwise None
""" """
# print("Processing background", repr(event))
substate, handler = state._get_event_handler(event) substate, handler = state._get_event_handler(event)
# print("Substate", substate)
# print("Handler", handler)
if not handler.is_background: if not handler.is_background:
return None return None

View File

@ -396,11 +396,11 @@ class FileUpload(Base):
_var_name="filesById", _var_name="filesById",
_var_type=dict[str, Any], _var_type=dict[str, Any],
_var_data=ImmutableVarData.merge(upload_files_context_var_data), _var_data=ImmutableVarData.merge(upload_files_context_var_data),
).to(ObjectVar)[LiteralVar.create_safe(upload_id)], ).to(ObjectVar)[LiteralVar.create(upload_id)],
), ),
( (
ImmutableVar.create_safe("upload_id"), ImmutableVar.create_safe("upload_id"),
LiteralVar.create_safe(upload_id), LiteralVar.create(upload_id),
), ),
] ]
if self.on_upload_progress is not None: if self.on_upload_progress is not None:

View File

@ -1220,7 +1220,7 @@ class ImmutableCallableVar(ImmutableVar):
super(ImmutableCallableVar, self).__init__( super(ImmutableCallableVar, self).__init__(
_var_name=original_var._var_name, _var_name=original_var._var_name,
_var_type=original_var._var_type, _var_type=original_var._var_type,
_var_data=ImmutableVarData.merge(original_var._var_data), _var_data=ImmutableVarData.merge(original_var._get_all_var_data()),
) )
object.__setattr__(self, "fn", fn) object.__setattr__(self, "fn", fn)
object.__setattr__(self, "original_var", original_var) object.__setattr__(self, "original_var", original_var)
@ -1486,11 +1486,14 @@ class ImmutableComputedVar(ImmutableVar[RETURN_TYPE]):
The value of the var for the given instance. The value of the var for the given instance.
""" """
if instance is None: if instance is None:
class_where_defined: Type[BaseState] = vars(
sys.modules[self.fget.__module__]
).get(self.fget.__qualname__.split(".")[0], owner)
return self._replace( return self._replace(
_var_name=format_state_name(owner.get_full_name()) _var_name=format_state_name(class_where_defined.get_full_name())
+ "." + "."
+ self._var_name, + self._var_name,
merge_var_data=ImmutableVarData.from_state(owner), merge_var_data=ImmutableVarData.from_state(class_where_defined),
).guess_type() ).guess_type()
if not self._cache: if not self._cache: