handle cleaning out _potentially_dirty_states on reload
This commit is contained in:
parent
0aad41681c
commit
c30e725715
@ -4075,12 +4075,19 @@ def reload_state_module(
|
||||
state: Recursive argument for the state class to reload.
|
||||
|
||||
"""
|
||||
# Clean out all potentially dirty states of reloaded modules.
|
||||
for pd_state in tuple(state._potentially_dirty_states):
|
||||
with contextlib.suppress(ValueError):
|
||||
if (
|
||||
state.get_root_state().get_class_substate(pd_state).__module__ == module
|
||||
and module is not None
|
||||
):
|
||||
state._potentially_dirty_states.remove(pd_state)
|
||||
for subclass in tuple(state.class_subclasses):
|
||||
reload_state_module(module=module, state=subclass)
|
||||
if subclass.__module__ == module and module is not None:
|
||||
state.class_subclasses.remove(subclass)
|
||||
state._always_dirty_substates.discard(subclass.get_name())
|
||||
state._potentially_dirty_states.discard(subclass.get_name())
|
||||
state._var_dependencies = {}
|
||||
state._init_var_dependency_dicts()
|
||||
state.get_class_substate.cache_clear()
|
||||
|
@ -488,7 +488,7 @@ def output_system_info():
|
||||
dependencies.append(fnm_info)
|
||||
|
||||
if system == "Linux":
|
||||
import distro
|
||||
import distro # pyright: ignore[reportMissingImports]
|
||||
|
||||
os_version = distro.name(pretty=True)
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user