diff options
Diffstat (limited to 'plugins/pythonextensions/pythonextensionsplugin.cpp')
-rw-r--r-- | plugins/pythonextensions/pythonextensionsplugin.cpp | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/plugins/pythonextensions/pythonextensionsplugin.cpp b/plugins/pythonextensions/pythonextensionsplugin.cpp index 078a78c..f0ddcc5 100644 --- a/plugins/pythonextensions/pythonextensionsplugin.cpp +++ b/plugins/pythonextensions/pythonextensionsplugin.cpp @@ -164,8 +164,10 @@ QString PythonExtensionsPlugin::pythonPackagePath() void PythonExtensionsPlugin::initializePythonBindings() { // Add our custom module directory - if (extensionDir().exists()) + if (extensionDir().exists()) { + PyUtil::addToSysPath(extensionDir().path().toStdString()); PyUtil::addToSysPath(pythonPackagePath().toStdString()); + } // Initialize the Python context and register global QtCreator variable if (!PyUtil::bindShibokenModuleObject("PythonExtension", "QtCreator")) { qWarning() << "Python bindings could not be initialized"; @@ -268,23 +270,11 @@ void PythonExtensionsPlugin::initializePythonExtensions() // Run the extension initialization code for (const QString &extension : extension_list) { qDebug() << "Trying to initialize extension" << extension; - - QFile extension_main(extension_dir.absolutePath() + "/" + extension + "/main.py"); - if (extension_main.open(QIODevice::ReadOnly)) { - QTextStream in(&extension_main); - QString extension_code = in.readAll(); - if (!PyUtil::runScriptWithPath( - extension_code.toStdString(), - QString(extension_dir.absolutePath() + "/" + extension).toStdString() - )) { - qWarning() << "Failed to initialize extension" << extension; - Core::MessageManager::write(Constants::MESSAGE_MANAGER_PREFIX + tr("Failed to initialize extension ") + extension); - } else { - m_loadedExtensions << extension; - } + if (!PyUtil::runScript("import " + extension.toStdString())) { + qWarning() << "Failed to initialize extension" << extension; + Core::MessageManager::write(Constants::MESSAGE_MANAGER_PREFIX + tr("Failed to initialize extension ") + extension); } else { - qWarning() << "Failed to load main.py for extension" << extension; - Core::MessageManager::write(Constants::MESSAGE_MANAGER_PREFIX + tr("Failed to load main.py for extension ") + extension); + m_loadedExtensions << extension; } } |