Debugger/DebugServer.py

branch
maintenance
changeset 6602
331ac8f99cf8
parent 6518
926d65bd23b8
parent 6581
8eb6220f2bb7
child 6646
51eefa621de4
diff -r 06e7d2941ead -r 331ac8f99cf8 Debugger/DebugServer.py
--- a/Debugger/DebugServer.py	Thu Nov 01 11:48:02 2018 +0100
+++ b/Debugger/DebugServer.py	Sat Dec 01 11:44:34 2018 +0100
@@ -81,8 +81,9 @@
         signaled a syntax error in a watch expression
     @signal clientRawInput(prompt, echo) emitted after a raw input request was
         received
-    @signal clientBanner(banner) emitted after the client banner was received
-    @signal clientCapabilities(int capabilities, string cltype) emitted after
+    @signal clientBanner(version, platform, dbgclient, venvname) emitted after
+        the client banner data was received
+    @signal clientCapabilities(capabilities, cltype, venvname) emitted after
         the clients capabilities were received
     @signal clientCompletionList(completionList, text) emitted after the client
         the commandline completion list and the reworked searchstring was
@@ -137,8 +138,8 @@
     clientBreakConditionError = pyqtSignal(str, int)
     clientWatchConditionError = pyqtSignal(str)
     clientRawInput = pyqtSignal(str, bool)
-    clientBanner = pyqtSignal(str, str, str)
-    clientCapabilities = pyqtSignal(int, str)
+    clientBanner = pyqtSignal(str, str, str, str)
+    clientCapabilities = pyqtSignal(int, str, str)
     clientCompletionList = pyqtSignal(list, str)
     clientInterpreterChanged = pyqtSignal(str)
     utPrepared = pyqtSignal(int, str, str)
@@ -154,15 +155,20 @@
     callTraceInfo = pyqtSignal(bool, str, str, str, str, str, str)
     appendStdout = pyqtSignal(str)
     
-    def __init__(self, preventPassiveDebugging=False):
+    def __init__(self, originalPathString, preventPassiveDebugging=False):
         """
         Constructor
         
+        @param originalPathString original PATH environment variable
+        @type str
         @param preventPassiveDebugging flag overriding the PassiveDbgEnabled
-            setting (boolean)
+            setting
+        @type bool
         """
         super(DebugServer, self).__init__()
         
+        self.__originalPathString = originalPathString
+        
         self.__debuggerInterfaces = {}
         # the interface name is the key, a function to get the
         # registration data is the value
@@ -498,15 +504,18 @@
                 if not project.isDebugPropertiesLoaded():
                     self.clientProcess, isNetworked, clientInterpreter = \
                         self.debuggerInterface.startRemote(
-                            self.serverPort(), runInConsole, venvName)
+                            self.serverPort(), runInConsole, venvName,
+                            self.__originalPathString)
                 else:
                     self.clientProcess, isNetworked, clientInterpreter = \
                         self.debuggerInterface.startRemoteForProject(
-                            self.serverPort(), runInConsole, venvName)
+                            self.serverPort(), runInConsole, venvName,
+                            self.__originalPathString)
             else:
                 self.clientProcess, isNetworked, clientInterpreter = \
                     self.debuggerInterface.startRemote(
-                        self.serverPort(), runInConsole, venvName)
+                        self.serverPort(), runInConsole, venvName,
+                        self.__originalPathString)
             
             if self.clientProcess:
                 self.clientProcess.readyReadStandardError.connect(
@@ -1541,26 +1550,35 @@
         """
         self.clientRawInput.emit(prompt, echo)
         
-    def signalClientBanner(self, version, platform, debugClient):
+    def signalClientBanner(self, version, platform, debugClient, venvName):
         """
         Public method to process the client banner info.
         
-        @param version interpreter version info (string)
-        @param platform hostname of the client (string)
-        @param debugClient additional debugger type info (string)
+        @param version interpreter version info
+        @type str
+        @param platform hostname of the client
+        @type str
+        @param debugClient additional debugger type info
+        @type str
+        @param venvName name of the virtual environment
+        @type str
         """
-        self.clientBanner.emit(version, platform, debugClient)
-        
-    def signalClientCapabilities(self, capabilities, clientType):
+        self.clientBanner.emit(version, platform, debugClient, venvName)
+    
+    def signalClientCapabilities(self, capabilities, clientType, venvName):
         """
         Public method to process the client capabilities info.
         
-        @param capabilities bitmaks with the client capabilities (integer)
-        @param clientType type of the debug client (string)
+        @param capabilities bitmaks with the client capabilities
+        @type int
+        @param clientType type of the debug client
+        @type str
+        @param venvName name of the virtual environment
+        @type str
         """
         try:
             self.__debuggerInterfaceRegistry[clientType][0] = capabilities
-            self.clientCapabilities.emit(capabilities, clientType)
+            self.clientCapabilities.emit(capabilities, clientType, venvName)
         except KeyError:
             # ignore silently
             pass

eric ide

mercurial