Added code to suppress some output needed during development when the application is operated in release mode. eric7

Fri, 02 May 2025 16:19:35 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 02 May 2025 16:19:35 +0200
branch
eric7
changeset 11255
1c2bd52f2002
parent 11254
cdb56075b4bc
child 11256
b19a0278b8bf

Added code to suppress some output needed during development when the application is operated in release mode.

src/eric7/APIs/Python3/eric7.api file | annotate | diff | comparison | revisions
src/eric7/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
src/eric7/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.EricNetwork.EricJsonServer.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.EricNetwork.EricJsonStreamReader.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Testing.TestingWidget.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Utilities.BackgroundService.html file | annotate | diff | comparison | revisions
src/eric7/EricNetwork/EricJsonServer.py file | annotate | diff | comparison | revisions
src/eric7/EricNetwork/EricJsonStreamReader.py file | annotate | diff | comparison | revisions
src/eric7/JediInterface/JediServer.py file | annotate | diff | comparison | revisions
src/eric7/Testing/Interfaces/PytestExecutor.py file | annotate | diff | comparison | revisions
src/eric7/Testing/Interfaces/UnittestExecutor.py file | annotate | diff | comparison | revisions
src/eric7/Testing/TestingWidget.py file | annotate | diff | comparison | revisions
src/eric7/UI/UserInterface.py file | annotate | diff | comparison | revisions
src/eric7/Utilities/BackgroundService.py file | annotate | diff | comparison | revisions
--- 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)
Binary file src/eric7/Documentation/Help/source.qch has changed
--- 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:

eric ide

mercurial