CondaInterface/CondaPackagesWidget.py

branch
conda
changeset 6731
c70eaa492741
parent 6728
ba077788a882
child 6738
a7f835b41606
equal deleted inserted replaced
6730:35576138c927 6731:c70eaa492741
12 import os 12 import os
13 13
14 from PyQt5.QtCore import pyqtSlot, Qt 14 from PyQt5.QtCore import pyqtSlot, Qt
15 from PyQt5.QtGui import QCursor 15 from PyQt5.QtGui import QCursor
16 from PyQt5.QtWidgets import QWidget, QToolButton, QMenu, QTreeWidgetItem, \ 16 from PyQt5.QtWidgets import QWidget, QToolButton, QMenu, QTreeWidgetItem, \
17 QApplication, QLineEdit 17 QApplication, QLineEdit, QDialog
18 18
19 from E5Gui import E5FileDialog, E5MessageBox, E5TextInputDialog 19 from E5Gui import E5FileDialog, E5MessageBox, E5TextInputDialog
20 from E5Gui.E5Application import e5App 20 from E5Gui.E5Application import e5App
21 21
22 from .Ui_CondaPackagesWidget import Ui_CondaPackagesWidget 22 from .Ui_CondaPackagesWidget import Ui_CondaPackagesWidget
586 @pyqtSlot() 586 @pyqtSlot()
587 def __cloneEnvironment(self): 587 def __cloneEnvironment(self):
588 """ 588 """
589 Private slot to clone a conda environment. 589 Private slot to clone a conda environment.
590 """ 590 """
591 from .CondaNewEnvironmentDataDialog import \
592 CondaNewEnvironmentDataDialog
593
591 prefix = self.environmentsComboBox.itemData( 594 prefix = self.environmentsComboBox.itemData(
592 self.environmentsComboBox.currentIndex()) 595 self.environmentsComboBox.currentIndex())
593 if prefix: 596 if prefix:
594 ok, envName = E5TextInputDialog.getText( 597 dlg = CondaNewEnvironmentDataDialog(self.tr("Clone Environment"),
595 self, 598 False, self)
596 self.tr("Clone Environment"), 599 if dlg.exec_() == QDialog.Accepted:
597 self.tr("Enter name for the cloned environment:"), 600 virtEnvName, envName, _ = dlg.getData()
598 QLineEdit.Normal)
599 if ok and envName.strip():
600 args = [ 601 args = [
601 "--name", 602 "--name",
602 envName.strip(), 603 envName.strip(),
603 "--clone", 604 "--clone",
604 prefix, 605 prefix,
605 ] 606 ]
607 ok, prefix, interpreter = \
608 self.__conda.createCondaEnvironment(args)
609 if ok:
610 e5App().getObject("VirtualEnvManager").addVirtualEnv(
611 virtEnvName, prefix, interpreter, isConda=True)
612
613 @pyqtSlot()
614 def __createEnvironment(self):
615 """
616 Private slot to create a conda environment from a requirements file.
617 """
618 from .CondaNewEnvironmentDataDialog import \
619 CondaNewEnvironmentDataDialog
620
621 dlg = CondaNewEnvironmentDataDialog(self.tr("Create Environment"),
622 True, self)
623 if dlg.exec_() == QDialog.Accepted:
624 virtEnvName, envName, requirements = dlg.getData()
625 args = [
626 "--name",
627 envName.strip(),
628 "--file",
629 requirements,
630 ]
631 ok, prefix, interpreter = \
606 self.__conda.createCondaEnvironment(args) 632 self.__conda.createCondaEnvironment(args)
607 # TODO: add code to register the cloned env with the virt env manager 633 if ok:
608 634 e5App().getObject("VirtualEnvManager").addVirtualEnv(
609 @pyqtSlot() 635 virtEnvName, prefix, interpreter, isConda=True)
610 def __createEnvironment(self):
611 """
612 Private slot to create a conda environment from a requirements file.
613 """
614 # TODO: implement this
615 636
616 @pyqtSlot() 637 @pyqtSlot()
617 def __deleteEnvironment(self): 638 def __deleteEnvironment(self):
618 """ 639 """
619 Private slot to delete a conda environment. 640 Private slot to delete a conda environment.

eric ide

mercurial