Skip to content

Commit

Permalink
Add try except on load plugin from entry points
Browse files Browse the repository at this point in the history
Signed-off-by: Nig3l <[email protected]>
  • Loading branch information
Ni-g-3l committed Feb 2, 2025
1 parent ee6f9bf commit e6a3256
Showing 1 changed file with 22 additions and 13 deletions.
35 changes: 22 additions & 13 deletions src/rez/plugin_managers.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,23 +172,32 @@ def load_plugins_from_namespace(self):
self.register_plugin_module(plugin_name, plugin_module, path)
self.load_config_from_plugin(plugin_module)
except Exception as e:
nameish = modname.split('.')[-1]
self.failed_plugins[nameish] = str(e)
if config.debug("plugins"):
import traceback
from io import StringIO
out = StringIO()
traceback.print_exc(file=out)
print_debug(out.getvalue())
self.print_log_plugins_error(modname, e)

def load_plugins_from_entry_points(self):
discovered_plugins = entry_points(group='rez.plugins')
for plugin in discovered_plugins:
plugin = plugin.load()
plugin_name = plugin.__name__.split('.')[-1]
plugin_path = os.path.dirname(plugin.__file__)
self.register_plugin_module(plugin_name, plugin, plugin_path)
self.load_config_from_plugin(plugin)
try:
plugin = plugin.load()
plugin_name = plugin.__name__
plugin_path = os.path.dirname(plugin.__file__)
self.register_plugin_module(plugin_name, plugin, plugin_path)
self.load_config_from_plugin(plugin)
except Exception as e:
self.print_log_plugins_error(plugin.__name__, e)

def print_log_plugins_error(self, module_name, error):
nameish = module_name.split('.')[-1]
self.failed_plugins[nameish] = str(error)

if not config.debug("plugins"):
return

import traceback
from io import StringIO
out = StringIO()
traceback.print_exc(file=out)
print_debug(out.getvalue())

def load_config_from_plugin(self, plugin):
plugin_path = os.path.dirname(plugin.__file__)
Expand Down

0 comments on commit e6a3256

Please sign in to comment.