64 @param e close event |
64 @param e close event |
65 @type QCloseEvent |
65 @type QCloseEvent |
66 """ |
66 """ |
67 e.accept() |
67 e.accept() |
68 |
68 |
69 @pyqtSlot(bool) |
69 @pyqtSlot() |
70 def on_localCheckBox_clicked(self, checked): |
70 def on_localCheckBox_clicked(self): |
71 """ |
71 """ |
72 Private slot handling the switching of the local mode. |
72 Private slot handling the switching of the local mode. |
73 |
73 """ |
74 @param checked state of the local check box |
74 self.__refresh() |
75 @type bool |
75 |
|
76 @pyqtSlot() |
|
77 def on_userCheckBox_clicked(self): |
|
78 """ |
|
79 Private slot handling the switching of the user-site mode. |
76 """ |
80 """ |
77 self.__refresh() |
81 self.__refresh() |
78 |
82 |
79 @pyqtSlot(str) |
83 @pyqtSlot(str) |
80 def on_requirementsFilePicker_textChanged(self, txt): |
84 def on_requirementsFilePicker_textChanged(self, txt): |
133 """ |
137 """ |
134 self.requirementsEdit.clear() |
138 self.requirementsEdit.clear() |
135 self.__requirementsAvailable = False |
139 self.__requirementsAvailable = False |
136 self.__environmentName = venvName |
140 self.__environmentName = venvName |
137 |
141 |
138 interpreter = self.__pip.getVirtualenvInterpreter(venvName) |
142 fileName = ( |
139 if not interpreter: |
143 Utilities.toNativeSeparators(self.requirementsFilePicker.text()) |
140 return |
144 if self.requirementsFilePicker.text() else |
141 |
145 "" |
142 args = ["-m", "pip", "freeze"] |
146 ) |
143 if self.localCheckBox.isChecked(): |
|
144 args.append("--local") |
|
145 if self.requirementsFilePicker.text(): |
|
146 fileName = Utilities.toNativeSeparators( |
|
147 self.requirementsFilePicker.text()) |
|
148 if os.path.exists(fileName): |
|
149 args.append("--requirement") |
|
150 args.append(fileName) |
|
151 |
147 |
152 with EricOverrideCursor(): |
148 with EricOverrideCursor(): |
153 success, output = self.__pip.runProcess(args, interpreter) |
149 specifiers = self.__pip.getFrozenPackages( |
|
150 venvName, localPackages=self.localCheckBox.isChecked(), |
|
151 usersite=self.userCheckBox.isChecked(), requirement=fileName) |
154 |
152 |
155 if success: |
153 if specifiers: |
156 self.requirementsEdit.setPlainText(output) |
154 self.requirementsEdit.setPlainText( |
|
155 "\n".join(specifiers) + "\n") |
157 self.__requirementsAvailable = True |
156 self.__requirementsAvailable = True |
158 else: |
157 else: |
159 self.requirementsEdit.setPlainText( |
158 self.requirementsEdit.setPlainText(self.tr( |
160 self.tr("No output generated by 'pip freeze'.")) |
159 "No package specifiers generated by 'pip freeze'.") |
|
160 ) |
161 |
161 |
162 self.__updateButtons() |
162 self.__updateButtons() |
163 |
163 |
164 self.__requirementsEdited = False |
164 self.__requirementsEdited = False |
165 |
165 |