VirtualEnv/VirtualenvManager.py

branch
pypi
changeset 6792
9dd854f05c83
parent 6740
46bb5e2df095
child 6896
3716c4af48bb
equal deleted inserted replaced
6785:058d63c537a4 6792:9dd854f05c83
13 import sys 13 import sys
14 import shutil 14 import shutil
15 import json 15 import json
16 import copy 16 import copy
17 17
18 from PyQt5.QtCore import pyqtSlot, QObject 18 from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject
19 from PyQt5.QtWidgets import QDialog 19 from PyQt5.QtWidgets import QDialog
20 20
21 from E5Gui import E5MessageBox 21 from E5Gui import E5MessageBox
22 from E5Gui.E5Application import e5App 22 from E5Gui.E5Application import e5App
23 23
25 25
26 26
27 class VirtualenvManager(QObject): 27 class VirtualenvManager(QObject):
28 """ 28 """
29 Class implementing an object to manage Python virtual environments. 29 Class implementing an object to manage Python virtual environments.
30
31 @signal virtualEnvironmentAdded() emitted to indicate the addition of
32 a virtual environment
33 @signal virtualEnvironmentRemoved() emitted to indicate the removal and
34 deletion of a virtual environment
35 @signal virtualEnvironmentChanged(name) emitted to indicate a change of
36 a virtual environment
30 """ 37 """
31 DefaultKey = "<default>" 38 DefaultKey = "<default>"
39
40 virtualEnvironmentAdded = pyqtSignal()
41 virtualEnvironmentRemoved = pyqtSignal()
42 virtualEnvironmentChanged = pyqtSignal(str)
32 43
33 def __init__(self, parent=None): 44 def __init__(self, parent=None):
34 """ 45 """
35 Constructor 46 Constructor
36 47
232 "exec_path": execPath, 243 "exec_path": execPath,
233 } 244 }
234 245
235 self.__saveSettings() 246 self.__saveSettings()
236 247
248 self.virtualEnvironmentAdded.emit()
237 if self.__virtualenvManagerDialog: 249 if self.__virtualenvManagerDialog:
238 self.__virtualenvManagerDialog.refresh() 250 self.__virtualenvManagerDialog.refresh()
239 251
240 def setVirtualEnv(self, venvName, venvDirectory, venvInterpreter, 252 def setVirtualEnv(self, venvName, venvDirectory, venvInterpreter,
241 venvVariant, isGlobal, isConda, isRemote, 253 venvVariant, isGlobal, isConda, isRemote,
281 "exec_path": execPath, 293 "exec_path": execPath,
282 } 294 }
283 295
284 self.__saveSettings() 296 self.__saveSettings()
285 297
298 self.virtualEnvironmentChanged.emit(venvName)
286 if self.__virtualenvManagerDialog: 299 if self.__virtualenvManagerDialog:
287 self.__virtualenvManagerDialog.refresh() 300 self.__virtualenvManagerDialog.refresh()
288 301
289 def renameVirtualEnv(self, oldVenvName, venvName, venvDirectory, 302 def renameVirtualEnv(self, oldVenvName, venvName, venvDirectory,
290 venvInterpreter, venvVariant, isGlobal, isConda, 303 venvInterpreter, venvVariant, isGlobal, isConda,
366 True) 379 True)
367 del self.__virtualEnvironments[venvName] 380 del self.__virtualEnvironments[venvName]
368 381
369 self.__saveSettings() 382 self.__saveSettings()
370 383
384 self.virtualEnvironmentRemoved.emit()
371 if self.__virtualenvManagerDialog: 385 if self.__virtualenvManagerDialog:
372 self.__virtualenvManagerDialog.refresh() 386 self.__virtualenvManagerDialog.refresh()
373 387
374 def __isEnvironmentDeleteable(self, venvName): 388 def __isEnvironmentDeleteable(self, venvName):
375 """ 389 """
419 if venvName in self.__virtualEnvironments: 433 if venvName in self.__virtualEnvironments:
420 del self.__virtualEnvironments[venvName] 434 del self.__virtualEnvironments[venvName]
421 435
422 self.__saveSettings() 436 self.__saveSettings()
423 437
438 self.virtualEnvironmentRemoved.emit()
424 if self.__virtualenvManagerDialog: 439 if self.__virtualenvManagerDialog:
425 self.__virtualenvManagerDialog.refresh() 440 self.__virtualenvManagerDialog.refresh()
426 441
427 def getEnvironmentEntries(self): 442 def getEnvironmentEntries(self):
428 """ 443 """

eric ide

mercurial