Recursively reload submodules
This commit is contained in:
@@ -17,12 +17,23 @@ import logging
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
if 'bpy' in locals():
|
||||
import importlib
|
||||
from importlib import reload
|
||||
|
||||
log.debug("Reloading")
|
||||
subproc = importlib.reload(subproc)
|
||||
bpkg = importlib.reload(bpkg)
|
||||
def recursive_reload(mod):
|
||||
"""Reloads the given module and all its submodules"""
|
||||
log.debug("Reloading %s", mod)
|
||||
from types import ModuleType
|
||||
reloaded_mod = reload(mod)
|
||||
for attr in [getattr(mod, attr_name) for attr_name in dir(mod)]:
|
||||
if type(attr) is ModuleType and attr.__name__.startswith(mod.__name__):
|
||||
recursive_reload(attr)
|
||||
return reloaded_mod
|
||||
|
||||
subproc = recursive_reload(subproc)
|
||||
utils = recursive_reload(utils)
|
||||
bpkg = recursive_reload(bpkg)
|
||||
Package = bpkg.Package
|
||||
|
||||
else:
|
||||
from . import subproc
|
||||
from . import bpkg
|
||||
|
Reference in New Issue
Block a user