--- a/VirtualEnv/VirtualenvManager.py Sun Jun 10 17:21:43 2018 +0200 +++ b/VirtualEnv/VirtualenvManager.py Tue Jun 12 18:59:45 2018 +0200 @@ -205,11 +205,13 @@ venvMessages ) if dlg.exec_() == QDialog.Accepted: - if venvName in self.__virtualEnvironments and \ - bool(self.__virtualEnvironments[venvName]): - shutil.rmtree(self.__virtualEnvironments[venvName], True) - del self.__virtualEnvironments[venvName] - del self.__virtualEnvironmentInterpreters[venvName] + for venvName in venvNames: + if venvName in self.__virtualEnvironments and \ + bool(self.__virtualEnvironments[venvName]): + shutil.rmtree(self.__virtualEnvironments[venvName], + True) + del self.__virtualEnvironments[venvName] + del self.__virtualEnvironmentInterpreters[venvName] self.__updateSettings() @@ -218,15 +220,14 @@ def removeVirtualEnvs(self, venvNames): """ - Public method to delete virtuals environment from the list. + Public method to delete virtual environment from the list. @param venvNames list of logical names for the virtual environments @type list of str """ venvMessages = [] for venvName in venvNames: - if venvName in self.__virtualEnvironments and \ - bool(self.__virtualEnvironments[venvName]): + if venvName in self.__virtualEnvironments: venvMessages.append(self.tr("{0} - {1}").format( venvName, self.__virtualEnvironments[venvName])) if venvMessages: @@ -240,10 +241,10 @@ venvMessages ) if dlg.exec_() == QDialog.Accepted: - if venvName in self.__virtualEnvironments and \ - bool(self.__virtualEnvironments[venvName]): - del self.__virtualEnvironments[venvName] - del self.__virtualEnvironmentInterpreters[venvName] + for venvName in venvNames: + if venvName in self.__virtualEnvironments: + del self.__virtualEnvironments[venvName] + del self.__virtualEnvironmentInterpreters[venvName] self.__updateSettings() @@ -313,6 +314,20 @@ else: return "" + def getVirtualenvDirectory(self, venvName): + """ + Public method to get the directory of a virtual environment. + + @param venvName logical name for the virtual environment + @type str + @return directory path + @rtype str + """ + if venvName in self.__virtualEnvironments: + return self.__virtualEnvironments[venvName] + else: + return "" + def getVirtualenvNames(self): """ Public method to get a list of defined virtual environments.