Debugger/DebuggerInterfacePython.py

changeset 6822
f34e48fdfd92
parent 6821
ed0dacdb437e
child 6848
7682182a0f0f
diff -r ed0dacdb437e -r f34e48fdfd92 Debugger/DebuggerInterfacePython.py
--- a/Debugger/DebuggerInterfacePython.py	Sun Feb 24 20:36:15 2019 +0100
+++ b/Debugger/DebuggerInterfacePython.py	Mon Feb 25 19:16:19 2019 +0100
@@ -75,8 +75,10 @@
             if Preferences.getDebugger("PathTranslation"):
                 self.translateRemote = \
                     Preferences.getDebugger("PathTranslationRemote")
+                self.translateRemoteWindows = "\\" in self.translateRemote
                 self.translateLocal = \
                     Preferences.getDebugger("PathTranslationLocal")
+                self.translateLocalWindows = "\\" in self.translateLocal
                 self.translate = self.__remoteTranslation
             else:
                 self.translate = self.__identityTranslation
@@ -104,11 +106,16 @@
             (False = local to remote, True = remote to local [default])
         @return translated filename (string)
         """
-        # TODO: remote translation must translate os.sep as well
         if remote2local:
-            return fn.replace(self.translateRemote, self.translateLocal)
+            path = fn.replace(self.translateRemote, self.translateLocal)
+            if self.translateLocalWindows:
+                path = path.replace("/", "\\")
         else:
-            return fn.replace(self.translateLocal, self.translateRemote)
+            path = fn.replace(self.translateLocal, self.translateRemote)
+            if not self.translateRemoteWindows:
+                path = path.replace("\\", "/")
+        
+        return path
         
     def __startProcess(self, program, arguments, environment=None,
                        workingDir=None):
@@ -236,9 +243,11 @@
                 if Preferences.getDebugger("PathTranslation"):
                     self.translateRemote = \
                         Preferences.getDebugger("PathTranslationRemote")
+                    self.translateRemoteWindows = "\\" in self.translateRemote
                     self.translateLocal = \
                         Preferences.getDebugger("PathTranslationLocal")
                     self.translate = self.__remoteTranslation
+                    self.translateLocalWindows = "\\" in self.translateLocal
                 else:
                     self.translate = self.__identityTranslation
                 return process, self.__isNetworked, ""
@@ -386,8 +395,10 @@
                 if project.getDebugProperty("PATHTRANSLATION"):
                     self.translateRemote = \
                         project.getDebugProperty("REMOTEPATH")
+                    self.translateRemoteWindows = "\\" in self.translateRemote
                     self.translateLocal = \
                         project.getDebugProperty("LOCALPATH")
+                    self.translateLocalWindows = "\\" in self.translateLocal
                     self.translate = self.__remoteTranslation
                 else:
                     self.translate = self.__identityTranslation

eric ide

mercurial