--- a/Plugins/PluginPipInterface.py Thu Feb 21 19:55:35 2019 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,235 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2015 - 2019 Detlev Offenbach <detlev@die-offenbachs.de> -# - -""" -Module implementing the pip interface plug-in. -""" - -from __future__ import unicode_literals - - -from PyQt5.QtCore import pyqtSignal, QObject, QCoreApplication - -from E5Gui.E5Application import e5App - -import Preferences -import UI.Info - -# Start-Of-Header -name = "pip Interface Plug-in" -author = "Detlev Offenbach <detlev@die-offenbachs.de>" -autoactivate = True -deactivateable = True -version = UI.Info.VersionOnly -className = "PipInterfacePlugin" -packageName = "__core__" -shortDescription = "Plug-in implementing a simple GUI for the pip command." -longDescription = ( - """Plug-in implementing a simple GUI for the pip command.""" -) -needsRestart = False -pyqtApi = 2 -python2Compatible = True -# End-Of-Header - -error = "" - -pipPluginObject = None - - -##def exeDisplayDataList(): -## """ -## Module function to support the display of some executable info. -## -## @return list of dictionaries containing the data to query the presence of -## the executable -## """ -## global pipPluginObject -## -## dataList = [] -## data = { -## "programEntry": True, -## "header": QCoreApplication.translate( -## "PipInterfacePlugin", "Package Management - pip"), -## "exe": "dummyExe", -## "versionCommand": "--version", -## "versionStartsWith": "pip", -## "versionPosition": 1, -## "version": "", -## "versionCleanup": None, -## "exeModule": ["-m", "pip"], -## } -## virtualenvManager = e5App().getObject("VirtualEnvManager") -## for venvName in virtualenvManager.getVirtualenvNames(): -## interpreter = virtualenvManager.getVirtualenvInterpreter(venvName) -## data["exe"] = interpreter -## dataList.append(data.copy()) -## return dataList -## -## -##def createPipPage(configDlg): -## """ -## Module function to create the pip configuration page. -## -## @param configDlg reference to the configuration dialog -## @return reference to the configuration page -## """ -## global pipPluginObject -## from UiExtensionPlugins.PipInterface.ConfigurationPage.PipPage import \ -## PipPage -## page = PipPage(pipPluginObject) -## return page -## -## -##def getConfigData(): -## """ -## Module function returning data as required by the configuration dialog. -## -## @return dictionary containing the relevant data -## """ -## return { -## "pipPage": [ -## QCoreApplication.translate( -## "PipInterfacePlugin", "Python Package Management"), -## "pypi.png", -## createPipPage, None, None -## ], -## } -## -## -##def prepareUninstall(): -## """ -## Module function to prepare for an un-installation. -## """ -## Preferences.Prefs.settings.remove(PipInterfacePlugin.PreferencesKey) - - -class PipInterfacePlugin(QObject): - """ - Class implementing the pip interface plug-in. - - @signal currentEnvironmentChanged(str) emitted to signal a change of the - currently selected virtual environment - """ - PreferencesKey = "PipPlugin" - - currentEnvironmentChanged = pyqtSignal(str) - - def __init__(self, ui): - """ - Constructor - - @param ui reference to the user interface object (UI.UserInterface) - """ - super(PipInterfacePlugin, self).__init__(ui) - self.__ui = ui - self.__initialize() - - self.__defaults = { - "CurrentEnvironment": "", - "PipSearchIndex": "", # used by the search command - } - - def __initialize(self): - """ - Private slot to (re)initialize the plugin. - """ - self.__object = None - - self.__mainAct = None - self.__mainMenu = None - - def activate(self): - """ - Public method to activate this plugin. - - @return tuple of None and activation status - @rtype tuple of (None, bool) - """ - global error - error = "" # clear previous error - - global pipPluginObject - pipPluginObject = self - - from UiExtensionPlugins.PipInterface.Pip import Pip - self.__object = Pip(self, self.__ui) - self.__object.initActions() - e5App().registerPluginObject("PipGui", self.__object) - - menu = self.__ui.getMenu("extras") - self.__mainMenu = self.__object.initMenu() - self.__mainAct = menu.addMenu(self.__mainMenu) - - return None, True - - def deactivate(self): - """ - Public method to deactivate this plugin. - """ - e5App().unregisterPluginObject("PipGui") - - menu = self.__ui.getMenu("extras") - menu.removeAction(self.__mainAct) - self.__mainAct = None - - self.__initialize() -## -## def getPreferences(self, key): -## """ -## Public method to retrieve the various pip related settings. -## -## @param key the key of the value to get -## @type str -## @return the requested setting -## @rtype any -## """ -## return Preferences.Prefs.settings.value( -## self.PreferencesKey + "/" + key, self.__defaults[key]) -## -## def setPreferences(self, key, value): -## """ -## Public method to store the various pip related settings. -## -## @param key the key of the setting to be set -## @type str -## @param value the value to be set -## @type any -## """ -## Preferences.Prefs.settings.setValue( -## self.PreferencesKey + "/" + key, value) -## -## if key == "CurrentEnvironment": -## self.currentEnvironmentChanged.emit(value) - - def getMenu(self, name): - """ - Public method to get a reference to the requested menu. - - @param name name of the menu - @type str - @return reference to the menu or None, if no - menu with the given name exists - @rtype QMenu or None - """ - if self.__object is not None: - return self.__object.getMenu(name) - else: - return None - - def getMenuNames(self): - """ - Public method to get the names of all menus. - - @return menu names - @rtype list of str - """ - if self.__object is not None: - return list(self.__menus.keys()) - else: - return [] - -# -# eflag: noqa = M801