16 ) |
15 ) |
17 |
16 |
18 from E5Gui import E5MessageBox, E5FileDialog |
17 from E5Gui import E5MessageBox, E5FileDialog |
19 from E5Gui.E5PathPicker import E5PathPickerModes |
18 from E5Gui.E5PathPicker import E5PathPickerModes |
20 from E5Gui.E5Application import e5App |
19 from E5Gui.E5Application import e5App |
|
20 from E5Gui.E5OverrideCursor import E5OverrideCursor |
21 |
21 |
22 from .Ui_PipFreezeDialog import Ui_PipFreezeDialog |
22 from .Ui_PipFreezeDialog import Ui_PipFreezeDialog |
23 |
23 |
24 import Utilities |
24 import Utilities |
25 |
25 |
142 self.requirementsFilePicker.text()) |
141 self.requirementsFilePicker.text()) |
143 if os.path.exists(fileName): |
142 if os.path.exists(fileName): |
144 args.append("--requirement") |
143 args.append("--requirement") |
145 args.append(fileName) |
144 args.append(fileName) |
146 |
145 |
147 QApplication.setOverrideCursor(Qt.WaitCursor) |
146 with E5OverrideCursor(): |
148 success, output = self.__pip.runProcess(args, interpreter) |
147 success, output = self.__pip.runProcess(args, interpreter) |
149 |
148 |
150 if success: |
149 if success: |
151 self.requirementsEdit.setPlainText(output) |
150 self.requirementsEdit.setPlainText(output) |
152 self.__requirementsAvailable = True |
151 self.__requirementsAvailable = True |
153 else: |
152 else: |
154 self.requirementsEdit.setPlainText( |
153 self.requirementsEdit.setPlainText( |
155 self.tr("No output generated by 'pip freeze'.")) |
154 self.tr("No output generated by 'pip freeze'.")) |
156 |
155 |
157 QApplication.restoreOverrideCursor() |
|
158 self.__updateButtons() |
156 self.__updateButtons() |
159 |
157 |
160 self.__requirementsEdited = False |
158 self.__requirementsEdited = False |
161 |
159 |
162 def __updateButtons(self): |
160 def __updateButtons(self): |
196 """ to overwrite it?""").format(fileName)) |
194 """ to overwrite it?""").format(fileName)) |
197 if not ok: |
195 if not ok: |
198 return |
196 return |
199 |
197 |
200 try: |
198 try: |
201 f = open(fileName, "w") |
199 with open(fileName, "w") as f: |
202 f.write(self.requirementsEdit.toPlainText()) |
200 f.write(self.requirementsEdit.toPlainText()) |
203 f.close() |
|
204 except (OSError, IOError) as err: |
201 except (OSError, IOError) as err: |
205 E5MessageBox.critical( |
202 E5MessageBox.critical( |
206 self, |
203 self, |
207 self.tr("Generate Requirements"), |
204 self.tr("Generate Requirements"), |
208 self.tr("""<p>The requirements could not be written""" |
205 self.tr("""<p>The requirements could not be written""" |