def create_custom_widget(self, info, *args): file_name = info['file'] widget_name = info['widget'] file_path = os.path.join(find_extension_subdir(self.xlet_dir), file_name) try: if file_name not in self.custom_modules: spec = importlib.util.spec_from_file_location(self.uuid.replace('@', '') + '.' + file_name.split('.')[0], file_path) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) self.custom_modules[file_name] = module except Exception as e: traceback.print_exc() print('problem loading custom widget') return None return getattr(self.custom_modules[file_name], widget_name)(info, *args)
def create_custom_widget(self, info, *args): file_name = info['file'] widget_name = info['widget'] file_path = os.path.join(find_extension_subdir(self.xlet_dir), file_name) try: if file_name not in self.custom_modules: spec = importlib.util.spec_from_file_location(self.uuid.replace('@', '') + '.' + file_name.split('.')[0], file_path) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) self.custom_modules[file_name] = module except Exception: traceback.print_exc() print('problem loading custom widget') return None return getattr(self.custom_modules[file_name], widget_name)(info, *args)