Не подтверждена Коммит 4ebdaeb0 создал по автору Dealga McArdle's avatar Dealga McArdle Зафиксировано автором GitHub
Просмотр файлов

Oldnode unregister direct (#4154)

* test direct

* check direct attrbites of module

* dont squash two module types

* old_nodes.unregister can test first if the node is registered

* use debug

* remove comment
владелец 435e6f74
...@@ -96,6 +96,7 @@ def register(): ...@@ -96,6 +96,7 @@ def register():
def unregister(): def unregister():
sverchok.utils.clear_node_classes() sverchok.utils.clear_node_classes()
sv_registration_utils.unregister_all(imported_modules + node_list) sv_registration_utils.unregister_all(imported_modules)
sv_registration_utils.unregister_all(node_list)
# EOF # EOF
...@@ -28,14 +28,6 @@ def sv_unregister_modules(modules): ...@@ -28,14 +28,6 @@ def sv_unregister_modules(modules):
clear_system_cache() clear_system_cache()
for m in reversed(modules): for m in reversed(modules):
if hasattr(m, "unregister"): if hasattr(m, "unregister"):
# print("Unregistering module: {}".format(m.__name__))
if m.__name__ == "sverchok.old_nodes":
import bpy
old_node_names = sverchok.old_nodes.old_bl_idnames
loaded = any([hasattr(bpy.types, node_class_name) for node_class_name in old_node_names.keys()])
if not loaded:
print("skipping unregister of old nodes..they are not registered")
continue
try: try:
m.unregister() m.unregister()
except RuntimeError as e: except RuntimeError as e:
......
...@@ -27,7 +27,7 @@ import bpy ...@@ -27,7 +27,7 @@ import bpy
from sverchok.node_tree import SverchCustomTreeNode from sverchok.node_tree import SverchCustomTreeNode
from sverchok.utils.sv_oldnodes_parser import get_old_node_bl_idnames from sverchok.utils.sv_oldnodes_parser import get_old_node_bl_idnames
from sverchok.utils.logging import error, exception from sverchok.utils.logging import error, exception, debug
imported_mods = {} imported_mods = {}
...@@ -148,7 +148,9 @@ def unregister_old(bl_id): ...@@ -148,7 +148,9 @@ def unregister_old(bl_id):
def unregister(): def unregister():
global imported_mods global imported_mods
print(imported_mods) for key, mod in imported_mods.items():
for mod in imported_mods.values(): if hasattr(bpy.types, key):
mod.unregister() mod.unregister()
else:
debug(f'{key} was not registered, did not unregister')
imported_mods = {} imported_mods = {}
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать