Fri, 02 May 2025 16:19:35 +0200
Added code to suppress some output needed during development when the application is operated in release mode.
--- a/src/eric7/APIs/Python3/eric7.api Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/APIs/Python3/eric7.api Fri May 02 16:19:35 2025 +0200 @@ -1258,12 +1258,12 @@ eric7.EricNetwork.EricJsonServer.EricJsonServer.startClient?4(interpreter, clientScript, clientArgs, idString="", environment=None) eric7.EricNetwork.EricJsonServer.EricJsonServer.stopAllClients?4() eric7.EricNetwork.EricJsonServer.EricJsonServer.stopClient?4(idString="") -eric7.EricNetwork.EricJsonServer.EricJsonServer?1(name="", interface="127.0.0.1", multiplex=False, parent=None) +eric7.EricNetwork.EricJsonServer.EricJsonServer?1(name="", interface="127.0.0.1", multiplex=False, parent=None, releaseMode=False, ) eric7.EricNetwork.EricJsonStreamReader.EricJsonReader.address?4() eric7.EricNetwork.EricJsonStreamReader.EricJsonReader.dataReceived?7 eric7.EricNetwork.EricJsonStreamReader.EricJsonReader.handleNewConnection?4() eric7.EricNetwork.EricJsonStreamReader.EricJsonReader.port?4() -eric7.EricNetwork.EricJsonStreamReader.EricJsonReader?1(name="", interface="127.0.0.1", parent=None) +eric7.EricNetwork.EricJsonStreamReader.EricJsonReader?1(name="", interface="127.0.0.1", parent=None, releaseMode=False) eric7.EricNetwork.EricJsonStreamWriter.EricJsonWriter.close?4() eric7.EricNetwork.EricJsonStreamWriter.EricJsonWriter.write?4(data) eric7.EricNetwork.EricJsonStreamWriter.EricJsonWriter?1(host, port) @@ -10414,6 +10414,7 @@ eric7.Testing.TestingWidget.TestingWidget.clearRecent?4() eric7.Testing.TestingWidget.TestingWidget.closeEvent?4(event) eric7.Testing.TestingWidget.TestingWidget.getFailedTests?4() +eric7.Testing.TestingWidget.TestingWidget.getReleaseMode?4() eric7.Testing.TestingWidget.TestingWidget.getResultsModel?4() eric7.Testing.TestingWidget.TestingWidget.hasFailedTests?4() eric7.Testing.TestingWidget.TestingWidget.on_buttonBox_clicked?4(button) @@ -10432,7 +10433,7 @@ eric7.Testing.TestingWidget.TestingWidget.startTests?4(failedOnly=False, debug=False) eric7.Testing.TestingWidget.TestingWidget.testFile?7 eric7.Testing.TestingWidget.TestingWidget.testRunStopped?7 -eric7.Testing.TestingWidget.TestingWidget?1(testfile=None, parent=None) +eric7.Testing.TestingWidget.TestingWidget?1(testfile=None, parent=None, releaseMode=False) eric7.Testing.TestingWidget.TestingWidgetModes.DISCOVERY?7 eric7.Testing.TestingWidget.TestingWidgetModes.IDLE?7 eric7.Testing.TestingWidget.TestingWidgetModes.RUNNING?7 @@ -11102,7 +11103,7 @@ eric7.Utilities.BackgroundService.BackgroundService.serviceConnect?4(fx, lang, modulepath, module, callback, onErrorCallback=None, onBatchDone=None, ) eric7.Utilities.BackgroundService.BackgroundService.serviceDisconnect?4(fx, lang) eric7.Utilities.BackgroundService.BackgroundService.serviceNotAvailable?7 -eric7.Utilities.BackgroundService.BackgroundService?1(parent=None) +eric7.Utilities.BackgroundService.BackgroundService?1(releaseMode=False, parent=None) eric7.Utilities.ClassBrowsers.ClassBrowserRegistry?7 eric7.Utilities.ClassBrowsers.ClbrBaseClasses.Attribute.addAssignment?4(lineno) eric7.Utilities.ClassBrowsers.ClbrBaseClasses.Attribute?1(module, name, file, lineno, col_offset=0)
--- a/src/eric7/Documentation/Help/source.qhp Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/Documentation/Help/source.qhp Fri May 02 16:19:35 2025 +0200 @@ -17455,6 +17455,7 @@ <keyword name="TestingWidget.clearRecent" id="TestingWidget.clearRecent" ref="eric7.Testing.TestingWidget.html#TestingWidget.clearRecent" /> <keyword name="TestingWidget.closeEvent" id="TestingWidget.closeEvent" ref="eric7.Testing.TestingWidget.html#TestingWidget.closeEvent" /> <keyword name="TestingWidget.getFailedTests" id="TestingWidget.getFailedTests" ref="eric7.Testing.TestingWidget.html#TestingWidget.getFailedTests" /> + <keyword name="TestingWidget.getReleaseMode" id="TestingWidget.getReleaseMode" ref="eric7.Testing.TestingWidget.html#TestingWidget.getReleaseMode" /> <keyword name="TestingWidget.getResultsModel" id="TestingWidget.getResultsModel" ref="eric7.Testing.TestingWidget.html#TestingWidget.getResultsModel" /> <keyword name="TestingWidget.hasFailedTests" id="TestingWidget.hasFailedTests" ref="eric7.Testing.TestingWidget.html#TestingWidget.hasFailedTests" /> <keyword name="TestingWidget.on_buttonBox_clicked" id="TestingWidget.on_buttonBox_clicked" ref="eric7.Testing.TestingWidget.html#TestingWidget.on_buttonBox_clicked" />
--- a/src/eric7/Documentation/Source/eric7.EricNetwork.EricJsonServer.html Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/Documentation/Source/eric7.EricNetwork.EricJsonServer.html Fri May 02 16:19:35 2025 +0200 @@ -101,7 +101,7 @@ <a NAME="EricJsonServer.__init__" ID="EricJsonServer.__init__"></a> <h4>EricJsonServer (Constructor)</h4> -<b>EricJsonServer</b>(<i>name="", interface="127.0.0.1", multiplex=False, parent=None</i>) +<b>EricJsonServer</b>(<i>name="", interface="127.0.0.1", multiplex=False, parent=None, releaseMode=False, </i>) <p> Constructor </p> @@ -125,6 +125,10 @@ <dd> reference to the parent object (defaults to None) </dd> +<dt><i>releaseMode</i> (bool (optional))</dt> +<dd> +flag indicating the mode of operations (defaults to False) +</dd> </dl> <a NAME="EricJsonServer.__handleDisconnect" ID="EricJsonServer.__handleDisconnect"></a> <h4>EricJsonServer.__handleDisconnect</h4>
--- a/src/eric7/Documentation/Source/eric7.EricNetwork.EricJsonStreamReader.html Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/Documentation/Source/eric7.EricNetwork.EricJsonStreamReader.html Fri May 02 16:19:35 2025 +0200 @@ -97,7 +97,7 @@ <a NAME="EricJsonReader.__init__" ID="EricJsonReader.__init__"></a> <h4>EricJsonReader (Constructor)</h4> -<b>EricJsonReader</b>(<i>name="", interface="127.0.0.1", parent=None</i>) +<b>EricJsonReader</b>(<i>name="", interface="127.0.0.1", parent=None, releaseMode=False</i>) <p> Constructor </p> @@ -117,6 +117,10 @@ <dd> reference to the parent object (defaults to None) </dd> +<dt><i>releaseMode</i> (bool (optional))</dt> +<dd> +flag indicating the mode of operations (defaults to False) +</dd> </dl> <a NAME="EricJsonReader.__handleDisconnect" ID="EricJsonReader.__handleDisconnect"></a> <h4>EricJsonReader.__handleDisconnect</h4>
--- a/src/eric7/Documentation/Source/eric7.Testing.TestingWidget.html Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/Documentation/Source/eric7.Testing.TestingWidget.html Fri May 02 16:19:35 2025 +0200 @@ -279,6 +279,10 @@ <td>Public method to get the list of failed tests (if any).</td> </tr> <tr> +<td><a href="#TestingWidget.getReleaseMode">getReleaseMode</a></td> +<td>Public method to get the release mode flag.</td> +</tr> +<tr> <td><a href="#TestingWidget.getResultsModel">getResultsModel</a></td> <td>Public method to get a reference to the model containing the test result data.</td> </tr> @@ -352,21 +356,25 @@ <a NAME="TestingWidget.__init__" ID="TestingWidget.__init__"></a> <h4>TestingWidget (Constructor)</h4> -<b>TestingWidget</b>(<i>testfile=None, parent=None</i>) +<b>TestingWidget</b>(<i>testfile=None, parent=None, releaseMode=False</i>) <p> Constructor </p> <dl> -<dt><i>testfile</i> (str)</dt> +<dt><i>testfile</i> (str (optional))</dt> <dd> -file name of the test to load +file name of the test to load (defaults to None) </dd> <dt><i>parent</i> (QWidget (optional))</dt> <dd> reference to the parent widget (defaults to None) </dd> +<dt><i>releaseMode</i> (bool (optional))</dt> +<dd> +flag indicating the mode of operations (defaults to False) +</dd> </dl> <a NAME="TestingWidget.__adjustPendingState" ID="TestingWidget.__adjustPendingState"></a> <h4>TestingWidget.__adjustPendingState</h4> @@ -965,6 +973,25 @@ list of str </dd> </dl> +<a NAME="TestingWidget.getReleaseMode" ID="TestingWidget.getReleaseMode"></a> +<h4>TestingWidget.getReleaseMode</h4> +<b>getReleaseMode</b>(<i></i>) +<p> + Public method to get the release mode flag. +</p> + +<dl> +<dt>Return:</dt> +<dd> +flag indicating the mode of operation +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> <a NAME="TestingWidget.getResultsModel" ID="TestingWidget.getResultsModel"></a> <h4>TestingWidget.getResultsModel</h4> <b>getResultsModel</b>(<i></i>)
--- a/src/eric7/Documentation/Source/eric7.Utilities.BackgroundService.html Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/Documentation/Source/eric7.Utilities.BackgroundService.html Fri May 02 16:19:35 2025 +0200 @@ -136,16 +136,20 @@ <a NAME="BackgroundService.__init__" ID="BackgroundService.__init__"></a> <h4>BackgroundService (Constructor)</h4> -<b>BackgroundService</b>(<i>parent=None</i>) +<b>BackgroundService</b>(<i>releaseMode=False, parent=None</i>) <p> Constructor </p> <dl> -<dt><i>parent</i> (QObject)</dt> +<dt><i>releaseMode</i> (bool (optional))</dt> <dd> -reference to the parent object +flag indicating release mode operations (defaults to False) +</dd> +<dt><i>parent</i> (QObject (optional))</dt> +<dd> +reference to the parent object (defaults to None) </dd> </dl> <a NAME="BackgroundService.__getPythonInterpreter" ID="BackgroundService.__getPythonInterpreter"></a>
--- a/src/eric7/EricNetwork/EricJsonServer.py Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/EricNetwork/EricJsonServer.py Fri May 02 16:19:35 2025 +0200 @@ -34,7 +34,14 @@ Class implementing a JSON based server base class. """ - def __init__(self, name="", interface="127.0.0.1", multiplex=False, parent=None): + def __init__( + self, + name="", + interface="127.0.0.1", + multiplex=False, + parent=None, + releaseMode=False, + ): """ Constructor @@ -47,6 +54,8 @@ @type bool (optional) @param parent reference to the parent object (defaults to None) @type QObject (optional) + @param releaseMode flag indicating the mode of operations (defaults to False) + @type bool (optional) """ super().__init__(parent) @@ -72,17 +81,18 @@ self.newConnection.connect(self.handleNewConnection) - ## Note: Need the address and port if client is started external in debugger. - hostAddressStr = ( - "[{0}]".format(self.__hostAddress) - if ":" in self.__hostAddress - else self.__hostAddress - ) - print( # __IGNORE_WARNING_M-801__ - "JSON server ({2}) listening on: {0}:{1:d}".format( - hostAddressStr, self.serverPort(), self.__name + if not releaseMode: + ## Note: Need the address and port if client is started external in + ## debugger. + hostAddressStr = ( + "[{0}]".format(self.__hostAddress) + if ":" in self.__hostAddress + else self.__hostAddress ) - ) + print( # __IGNORE_WARNING_M-801__ + f"JSON server ({self.__name}) listening on:" + f" {hostAddressStr}:{self.serverPort():d}" + ) @pyqtSlot() def handleNewConnection(self): @@ -190,7 +200,7 @@ jsonString = data.decode("utf-8", "backslashreplace") - # - print("JSON Server ({0}): {1}".format(self.__name, jsonString)) + # - print(f"JSON Server ({self.__name}): {jsonString}") # - this is for debugging only try:
--- a/src/eric7/EricNetwork/EricJsonStreamReader.py Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/EricNetwork/EricJsonStreamReader.py Fri May 02 16:19:35 2025 +0200 @@ -28,7 +28,7 @@ dataReceived = pyqtSignal(object) - def __init__(self, name="", interface="127.0.0.1", parent=None): + def __init__(self, name="", interface="127.0.0.1", parent=None, releaseMode=False): """ Constructor @@ -39,6 +39,8 @@ @type str (optional) @param parent reference to the parent object (defaults to None) @type QObject (optional) + @param releaseMode flag indicating the mode of operations (defaults to False) + @type bool (optional) """ super().__init__(parent) @@ -58,17 +60,18 @@ self.newConnection.connect(self.handleNewConnection) - ## Note: Need the address and port if client is started external in debugger. - hostAddressStr = ( - "[{0}]".format(self.__hostAddress) - if ":" in self.__hostAddress - else self.__hostAddress - ) - print( # __IGNORE_WARNING_M-801__ - "JSON server ({2}) listening on: {0}:{1:d}".format( - hostAddressStr, self.serverPort(), self.__name + if not releaseMode: + ## Note: Need the address and port if client is started external in + ## debugger. + hostAddressStr = ( + "[{0}]".format(self.__hostAddress) + if ":" in self.__hostAddress + else self.__hostAddress ) - ) + print( # __IGNORE_WARNING_M-801__ + f"JSON server ({self.__name}) listening on:" + f" {hostAddressStr}:{self.serverPort():d}" + ) def address(self): """
--- a/src/eric7/JediInterface/JediServer.py Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/JediInterface/JediServer.py Fri May 02 16:19:35 2025 +0200 @@ -70,6 +70,7 @@ interface=Preferences.getDebugger("NetworkInterface"), multiplex=True, parent=ui, + releaseMode=ui.ReleaseMode, ) self.__ui = ui
--- a/src/eric7/Testing/Interfaces/PytestExecutor.py Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/Testing/Interfaces/PytestExecutor.py Fri May 02 16:19:35 2025 +0200 @@ -47,6 +47,7 @@ } self.__config = None + self.__testWidget = testWidget def getVersions(self, interpreter): """ @@ -210,6 +211,7 @@ name="Pytest Reader", interface=Preferences.getDebugger("NetworkInterface"), parent=self, + releaseMode=self.__testWidget.getReleaseMode(), ) self.reader.dataReceived.connect(self.__processData) @@ -233,6 +235,7 @@ name="Pytest Reader", interface=Preferences.getDebugger("NetworkInterface"), parent=self, + releaseMode=self.__testWidget.getReleaseMode(), ) self.reader.dataReceived.connect(self.__processData) @@ -267,6 +270,7 @@ name="Pytest Reader", interface=Preferences.getDebugger("NetworkInterface"), parent=self, + releaseMode=self.__testWidget.getReleaseMode(), ) self.reader.dataReceived.connect(self.__processData)
--- a/src/eric7/Testing/Interfaces/UnittestExecutor.py Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/Testing/Interfaces/UnittestExecutor.py Fri May 02 16:19:35 2025 +0200 @@ -176,6 +176,7 @@ name="Unittest Reader", interface=Preferences.getDebugger("NetworkInterface"), parent=self, + releaseMode=self.__testWidget.getReleaseMode(), ) self.reader.dataReceived.connect(self.__processData) @@ -194,6 +195,7 @@ name="Unittest Reader", interface=Preferences.getDebugger("NetworkInterface"), parent=self, + releaseMode=self.__testWidget.getReleaseMode(), ) self.reader.dataReceived.connect(self.__processData) @@ -214,6 +216,7 @@ name="Unittest Reader", interface=Preferences.getDebugger("NetworkInterface"), parent=self, + releaseMode=self.__testWidget.getReleaseMode(), ) self.reader.dataReceived.connect(self.__processData)
--- a/src/eric7/Testing/TestingWidget.py Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/Testing/TestingWidget.py Fri May 02 16:19:35 2025 +0200 @@ -76,18 +76,22 @@ TestCaseLinenoRole = Qt.ItemDataRole.UserRole + 2 TestCaseIdRole = Qt.ItemDataRole.UserRole + 3 - def __init__(self, testfile=None, parent=None): + def __init__(self, testfile=None, parent=None, releaseMode=False): """ Constructor - @param testfile file name of the test to load - @type str + @param testfile file name of the test to load (defaults to None) + @type str (optional) @param parent reference to the parent widget (defaults to None) @type QWidget (optional) + @param releaseMode flag indicating the mode of operations (defaults to False) + @type bool (optional) """ super().__init__(parent) self.setupUi(self) + self.__releaseMode = releaseMode + self.__resultsModel = TestResultsModel(self) self.__resultsModel.summary.connect(self.__setStatusLabel) self.__resultFilterModel = TestResultsFilterModel(self) @@ -281,6 +285,15 @@ self.tabWidget.setCurrentIndex(0) + def getReleaseMode(self): + """ + Public method to get the release mode flag. + + @return flag indicating the mode of operation + @rtype bool + """ + return self.__releaseMode + def __determineInterpreter(self, venvName): """ Private method to determine the interpreter to be used.
--- a/src/eric7/UI/UserInterface.py Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/UI/UserInterface.py Fri May 02 16:19:35 2025 +0200 @@ -316,7 +316,9 @@ # Create the background service object logging.getLogger(__name__).debug("Creating Background Service...") - self.backgroundService = BackgroundService(self) + self.backgroundService = BackgroundService( + releaseMode=UserInterface.ReleaseMode, parent=self + ) splash.showMessage(self.tr("Initializing Plugin Manager...")) logging.getLogger(__name__).debug("Initializing Plugin Manager...") @@ -5950,7 +5952,7 @@ from eric7.Testing.TestingWidget import TestingWidget if self.__testingWidget is None: - self.__testingWidget = TestingWidget() + self.__testingWidget = TestingWidget(releaseMode=UserInterface.ReleaseMode) self.__testingWidget.testFile.connect(self.viewmanager.setFileLine) self.__testingWidget.testRunStopped.connect(self.__testingStopped)
--- a/src/eric7/Utilities/BackgroundService.py Fri May 02 16:18:18 2025 +0200 +++ b/src/eric7/Utilities/BackgroundService.py Fri May 02 16:19:35 2025 +0200 @@ -40,12 +40,14 @@ serviceNotAvailable = pyqtSignal(str, str, str, str) batchJobDone = pyqtSignal(str, str) - def __init__(self, parent=None): + def __init__(self, releaseMode=False, parent=None): """ Constructor - @param parent reference to the parent object - @type QObject + @param releaseMode flag indicating release mode operations (defaults to False) + @type bool (optional) + @param parent reference to the parent object (defaults to None) + @type QObject (optional) """ super().__init__(parent) @@ -70,15 +72,16 @@ self.newConnection.connect(self.on_newConnection) parent.shutdown.connect(self.__shutdown) - ## Note: Need the address and port if started external in debugger: port = self.serverPort() - hostAddressStr = ( - "[{0}]".format(self.__hostAddress) - if ":" in self.__hostAddress - else self.__hostAddress - ) - print("Background Service listening on: {0}:{1:d}".format(hostAddressStr, port)) - # __IGNORE_WARNING_M-801__ + if not releaseMode: + ## Note: Need the address and port if started external in debugger: + hostAddressStr = ( + "[{0}]".format(self.__hostAddress) + if ":" in self.__hostAddress + else self.__hostAddress + ) + print(f"Background Service listening on: {hostAddressStr}:{port:d}") + # __IGNORE_WARNING_M-801__ interpreter = self.__getPythonInterpreter() if interpreter: