203 ) |
203 ) |
204 return None, False, "" |
204 return None, False, "" |
205 |
205 |
206 self.__inShutdown = False |
206 self.__inShutdown = False |
207 |
207 |
208 debugClientType = Preferences.getDebugger("DebugClientType3") |
208 debugClient = self.__determineDebugClient() |
209 if debugClientType == "standard": |
|
210 debugClient = os.path.join( |
|
211 getConfig("ericDir"), "DebugClients", "Python", "DebugClient.py" |
|
212 ) |
|
213 else: |
|
214 debugClient = Preferences.getDebugger("DebugClient3") |
|
215 if debugClient == "": |
|
216 # use the 'standard' debug client if no custom one was configured |
|
217 debugClient = os.path.join( |
|
218 getConfig("ericDir"), "DebugClients", "Python", "DebugClient.py" |
|
219 ) |
|
220 |
209 |
221 redirect = ( |
210 redirect = ( |
222 str(configOverride["redirect"]) |
211 str(configOverride["redirect"]) |
223 if configOverride and configOverride["enable"] |
212 if configOverride and configOverride["enable"] |
224 else str(Preferences.getDebugger("Python3Redirect")) |
213 else str(Preferences.getDebugger("Python3Redirect")) |
350 else: |
339 else: |
351 self.__startedVenv = venvName |
340 self.__startedVenv = venvName |
352 |
341 |
353 return process, self.__isNetworked, interpreter |
342 return process, self.__isNetworked, interpreter |
354 |
343 |
|
344 def __determineDebugClient(self): |
|
345 """ |
|
346 Private method to determine the debug client to be started. |
|
347 |
|
348 @return path of the debug client |
|
349 @rtype str |
|
350 """ |
|
351 debugClientType = Preferences.getDebugger("DebugClientType3") |
|
352 if debugClientType == "standard": |
|
353 debugClient = os.path.join( |
|
354 getConfig("ericDir"), "DebugClients", "Python", "DebugClient.py" |
|
355 ) |
|
356 else: |
|
357 debugClient = Preferences.getDebugger("DebugClient3") |
|
358 if debugClient == "": |
|
359 # use the 'standard' debug client if no custom one was configured |
|
360 debugClient = os.path.join( |
|
361 getConfig("ericDir"), "DebugClients", "Python", "DebugClient.py" |
|
362 ) |
|
363 |
|
364 return debugClient |
|
365 |
355 def startRemoteForProject( |
366 def startRemoteForProject( |
356 self, |
367 self, |
357 port, |
368 port, |
358 runInConsole, |
369 runInConsole, |
359 venvName, |
370 venvName, |
388 if not project.isDebugPropertiesLoaded(): |
399 if not project.isDebugPropertiesLoaded(): |
389 return None, self.__isNetworked, "" |
400 return None, self.__isNetworked, "" |
390 |
401 |
391 # start debugger with project specific settings |
402 # start debugger with project specific settings |
392 debugClient = project.getDebugProperty("DEBUGCLIENT") |
403 debugClient = project.getDebugProperty("DEBUGCLIENT") |
|
404 if not bool(debugClient) or not os.path.exists(debugClient): |
|
405 debugClient = self.__determineDebugClient() |
393 |
406 |
394 redirect = ( |
407 redirect = ( |
395 str(configOverride["redirect"]) |
408 str(configOverride["redirect"]) |
396 if configOverride and configOverride["enable"] |
409 if configOverride and configOverride["enable"] |
397 else str(project.getDebugProperty("REDIRECT")) |
410 else str(project.getDebugProperty("REDIRECT")) |