src/eric7/MicroPython/ConvertToUF2Dialog.py

Thu, 11 Jul 2024 14:21:34 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 11 Jul 2024 14:21:34 +0200
branch
eric7
changeset 10840
c8045d0dbaa7
parent 10690
fab36645aa7d
child 11090
f5f5f5803935
permissions
-rw-r--r--

MicroPython
- Updated the list of known CircuitPython boards for CPy 9.1.0.
- Updated the list of known UF2 capable boards.

9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
3 # Copyright (c) 2023 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to convert a .hex or .bin firmware file to .uf2.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import json
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt6.QtCore import QProcess, QRegularExpression, pyqtSlot
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt6.QtGui import QRegularExpressionValidator
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from PyQt6.QtWidgets import QDialog
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from eric7 import Preferences
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 from eric7.SystemUtilities.PythonUtilities import getPythonExecutable
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 from .Ui_ConvertToUF2Dialog import Ui_ConvertToUF2Dialog
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 class ConvertToUF2Dialog(QDialog, Ui_ConvertToUF2Dialog):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Class implementing a dialog to convert a .hex or .bin firmware file to .uf2.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 FamiliesFile = os.path.join(os.path.dirname(__file__), "Tools", "uf2families.json")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 ConvertScript = os.path.join(os.path.dirname(__file__), "Tools", "uf2conv.py")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 def __init__(self, parent=None):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 Constructor
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 @param parent reference to the parent widget (defaults to None)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @type QWidget (optional)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 super().__init__(parent)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.setupUi(self)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.firmwarePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.firmwarePicker.setFilters(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.tr("MicroPython Firmware Files (*.hex *.bin);;All Files (*)")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.__validator = QRegularExpressionValidator(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 QRegularExpression(r"[0-9a-fA-F]{0,7}")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.addressEdit.setValidator(self.__validator)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.addressEdit.setEnabled(False)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__populateFamilyComboBox()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 self.__process = QProcess(self)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.__process.readyReadStandardOutput.connect(self.__readOutput)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.__process.readyReadStandardError.connect(self.__readError)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.__process.finished.connect(self.__conversionFinished)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.__updateConvertButton()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 def __populateFamilyComboBox(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 Private method to populate the chip family combo box with values read from
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 'uf2families.json' file.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 with open(ConvertToUF2Dialog.FamiliesFile, "r") as f:
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 families = json.load(f)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.familiesComboBox.addItem("", "")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 for family in families:
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.familiesComboBox.addItem(family["description"], family["id"])
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.familiesComboBox.model().sort(0)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 def __updateConvertButton(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 Private method to set the enabled status of the 'Convert' button.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.convertButton.setEnabled(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 bool(self.firmwarePicker.text())
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 and bool(self.familiesComboBox.currentText())
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 @pyqtSlot(str)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 def on_firmwarePicker_textChanged(self, firmware):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 Private slot handling a change of the firmware file name.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 @param firmware name of the firmware file
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 @type str
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 self.addressEdit.setEnabled(firmware.lower().endswith(".bin"))
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 self.__updateConvertButton()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 @pyqtSlot(str)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 def on_familiesComboBox_currentTextChanged(self, family):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 Private slot handling the selection of a chip family.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 @param family name of the selected chip family
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 @type str
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 self.__updateConvertButton()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 @pyqtSlot()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 def on_convertButton_clicked(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 Private slot activating the conversion process.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 self.outputEdit.clear()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 inputFile = self.firmwarePicker.text()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 outputFile = os.path.splitext(inputFile)[0] + ".uf2"
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 args = [
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 ConvertToUF2Dialog.ConvertScript,
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 "--convert",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 "--family",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 self.familiesComboBox.currentData(),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 "--output",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 outputFile,
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 ]
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 if inputFile.lower().endswith(".bin"):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 address = self.addressEdit.text()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 if address:
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 args.extend(["--base", "0x{0}".format(address)])
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 args.append(inputFile)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 python = getPythonExecutable()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 # output the generated command
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 self.outputEdit.insertPlainText(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 "{0} {1}\n{2}\n\n".format(python, " ".join(args), "=" * 40)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 self.outputEdit.ensureCursorVisible()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 # start the conversion process
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 self.convertButton.setEnabled(False)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 self.__process.start(python, args)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 @pyqtSlot()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 def __readOutput(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 Private slot to read the standard output channel of the conversion process.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 out = str(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 self.__process.readAllStandardOutput(),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 Preferences.getSystem("IOEncoding"),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 "replace",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.outputEdit.insertPlainText(out)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 self.outputEdit.ensureCursorVisible()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 @pyqtSlot()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 def __readError(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 Private slot to read the standard error channel of the conversion process.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 out = str(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 self.__process.readAllStandardError(),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 Preferences.getSystem("IOEncoding"),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 "replace",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 self.outputEdit.insertPlainText(self.tr("--- ERROR ---\n"))
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 self.outputEdit.insertPlainText(out)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 self.outputEdit.ensureCursorVisible()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165
10069
435cc5875135 Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9915
diff changeset
166 @pyqtSlot(int, QProcess.ExitStatus)
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
167 def __conversionFinished(self, _exitCode, _exitStatus):
9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 Private slot handling the end of the conversion process.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
171 @param _exitCode exit code of the process (unused)
9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 @type int
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
173 @param _exitStatus exit status of the process (unused)
9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 @type QProcess.ExitStatus
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 self.convertButton.setEnabled(True)

eric ide

mercurial