Plugins/PluginPipInterface.py

branch
maintenance
changeset 6826
c6dda2cbe081
parent 6764
d14ddbfbbd36
parent 6825
e659bb96cdfa
child 6827
14680839ad7a
--- a/Plugins/PluginPipInterface.py	Sat Feb 16 10:27:50 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"),
-            "preferences-python.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

eric ide

mercurial