src/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py

branch
server
changeset 10630
552a790fd9bc
parent 10596
ea35c92a3c7c
child 10704
27d21e5163b8
--- a/src/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py	Tue Feb 27 15:05:53 2024 +0100
+++ b/src/eric7/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py	Fri Mar 08 15:30:23 2024 +0100
@@ -298,18 +298,35 @@
         @param fn file or list of files or directory to be checked
         @type str or list of str
         """
+        isdir = isinstance(fn, str) and (
+            self.__remotefsInterface.isdir(fn)
+            if FileSystemUtilities.isRemoteFileName(fn)
+            else os.path.isdir(fn)
+        )
+
         if isinstance(fn, list):
             files = fn
-        elif os.path.isdir(fn):
-            files = FileSystemUtilities.direntries(
-                fn,
-                filesonly=True,
-                pattern=[
-                    "*{0}".format(ext)
-                    for ext in self.syntaxCheckService.getExtensions()
-                ],
-                followsymlinks=False,
-            )
+        elif isdir:
+            if FileSystemUtilities.isRemoteFileName(fn):
+                files = self.__remotefsInterface.direntries(
+                    fn,
+                    filesonly=True,
+                    pattern=[
+                        "*{0}".format(ext)
+                        for ext in self.syntaxCheckService.getExtensions()
+                    ],
+                    followsymlinks=False,
+                )
+            else:
+                files = FileSystemUtilities.direntries(
+                    fn,
+                    filesonly=True,
+                    pattern=[
+                        "*{0}".format(ext)
+                        for ext in self.syntaxCheckService.getExtensions()
+                    ],
+                    followsymlinks=False,
+                )
         else:
             files = [fn]
 
@@ -364,13 +381,25 @@
             self.checkProgress.setVisible(True)
             QApplication.processEvents()
 
+            isdir = isinstance(fn, str) and (
+                self.__remotefsInterface.isdir(fn)
+                if FileSystemUtilities.isRemoteFileName(fn)
+                else os.path.isdir(fn)
+            )
+
             if isinstance(fn, list):
                 self.files = fn
-            elif os.path.isdir(fn):
+            elif isdir:
                 self.files = []
                 for ext in self.syntaxCheckService.getExtensions():
                     self.files.extend(
-                        FileSystemUtilities.direntries(fn, True, "*{0}".format(ext), 0)
+                        self.__remotefsInterface.direntries(
+                            fn, True, "*{0}".format(ext), False
+                        )
+                        if FileSystemUtilities.isRemoteFileName(fn)
+                        else FileSystemUtilities.direntries(
+                            fn, True, "*{0}".format(ext), False
+                        )
                     )
             else:
                 self.files = [fn]
@@ -468,8 +497,8 @@
 
             try:
                 source = (
-                    self.__remotefsInterface.readEncodedFile(self.filename)[0]
-                    if FileSystemUtilities.isRemoteFileName(self.filename)
+                    self.__remotefsInterface.readEncodedFile(filename)[0]
+                    if FileSystemUtilities.isRemoteFileName(filename)
                     else Utilities.readEncodedFile(filename)[0]
                 )
                 source = Utilities.normalizeCode(source)
@@ -699,7 +728,7 @@
         vm = ericApp().getObject("ViewManager")
 
         if itm.parent():
-            fn = os.path.abspath(itm.data(0, self.filenameRole))
+            fn = itm.data(0, self.filenameRole)
             lineno = itm.data(0, self.lineRole)
             index = itm.data(0, self.indexRole)
             error = itm.data(0, self.errorRole)
@@ -712,7 +741,7 @@
             else:
                 editor.toggleSyntaxError(lineno, index, True, error, show=True)
         else:
-            fn = os.path.abspath(itm.data(0, self.filenameRole))
+            fn = itm.data(0, self.filenameRole)
             vm.openSourceFile(fn)
             editor = vm.getOpenEditor(fn)
             for index in range(itm.childCount()):
@@ -744,7 +773,7 @@
         for index in selectedIndexes:
             itm = self.resultList.topLevelItem(index)
             if itm.data(0, self.filenameRole) is not None:
-                fn = os.path.abspath(itm.data(0, self.filenameRole))
+                fn = itm.data(0, self.filenameRole)
                 vm.openSourceFile(fn, 1)
                 editor = vm.getOpenEditor(fn)
                 editor.clearSyntaxError()
@@ -764,7 +793,7 @@
         errorFiles = []
         for index in range(self.resultList.topLevelItemCount()):
             itm = self.resultList.topLevelItem(index)
-            errorFiles.append(os.path.abspath(itm.data(0, self.filenameRole)))
+            errorFiles.append(itm.data(0, self.filenameRole))
         for fn in vm.getOpenFilenames():
             if fn not in errorFiles:
                 editor = vm.getOpenEditor(fn)

eric ide

mercurial