def loadCoreModule(self, moduleName, pluginId): pluginEntry = {"id": pluginId, "resources": resources.ResourceProvider()} self.beginRegisterPlugin(pluginId, pluginEntry) try: pluginEntry["module"] = import_module(moduleName) registerPluginFunction = getattr(pluginEntry["module"], "registerPlugin") registerPluginFunction(self) self.endRegisterPlugin(True) except (ImportError, AttributeError), reason: #TODO: Manejar estos errores self.endRegisterPlugin(False) raise reason
def _import_package(self, descriptor): builtins.__prymatex__ = descriptor if descriptor.core: descriptor.modules.append(import_module(descriptor.name)) else: # Collect deps deps = self.collect_deps(descriptor) paths = [dep.directory for dep in deps] resources = [dep.namespace.name for dep in [descriptor] + deps if dep.namespace] descriptor.loadResources(resources) descriptor.modules.extend(import_from_directory(descriptor.directory, paths=paths)) del(builtins.__prymatex__)
def loadCoreModule(self, moduleName, pluginId): pluginEntry = {"id": pluginId, "resources": resources} self.beginRegisterPlugin(pluginId, pluginEntry) try: pluginEntry["module"] = import_module(moduleName) registerPluginFunction = getattr(pluginEntry["module"], "registerPlugin") registerPluginFunction(self) self.endRegisterPlugin(True) except (ImportError, AttributeError), reason: import traceback traceback.print_exc() self.endRegisterPlugin(False) raise reason
def loadCoreModule(self, moduleName, pluginId): pluginEntry = {"id": pluginId, "resources": resources} try: pluginEntry["module"] = import_module(moduleName) registerPluginFunction = getattr(pluginEntry["module"], "registerPlugin") if isinstance(registerPluginFunction, collections.Callable): self.currentPluginDescriptor = self.plugins[pluginId] = PluginDescriptor(pluginEntry) registerPluginFunction(self, self.currentPluginDescriptor) except (ImportError, AttributeError) as reason: # On exception remove entry if pluginId in self.plugins: del self.plugins[pluginId] traceback.print_exc() self.currentPluginDescriptor = None
def loadDialogClass(self, moduleName, directory): module = import_from_directory(directory, moduleName) if directory is not None else import_module(moduleName) dialogClass = getattr(module, 'dialogClass') self.application.populateComponent(dialogClass) return dialogClass