src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py

branch
server
changeset 10576
0cf5ebf17411
parent 10561
be23a662d709
child 10583
2114cc7275e8
diff -r abde60847db6 -r 0cf5ebf17411 src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py
--- a/src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py	Fri Feb 16 09:32:27 2024 +0100
+++ b/src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py	Fri Feb 16 11:45:08 2024 +0100
@@ -13,6 +13,8 @@
 import stat
 import time
 
+from eric7.SystemUtilities import FileSystemUtilities
+
 from .EricRequestCategory import EricRequestCategory
 
 
@@ -41,9 +43,9 @@
             "Stat": self.__stat,
             "Exists": self.__exists,
             "Access": self.__access,
-
             "ReadFile": self.__readFile,
             "WriteFile": self.__writeFile,
+            "DirEntries": self.__dirEntries,
         }
 
     def handleRequest(self, request, params, reqestUuid):
@@ -303,7 +305,7 @@
                 data = f.read()
             return {
                 "ok": True,
-                "filedata": str(base64.b85encode(data), encoding="ascii")
+                "filedata": str(base64.b85encode(data), encoding="ascii"),
             }
         except OSError as err:
             return {
@@ -351,3 +353,25 @@
                 "ok": False,
                 "error": str(err),
             }
+
+    def __dirEntries(self, params):
+        """
+        Private method to get a list of all files and directories of a given directory.
+
+        @param params dictionary containing the request data
+        @type dict
+        @return dictionary containing the reply data
+        @rtype dict
+        """
+        directory = params["directory"]
+        result = FileSystemUtilities.direntries(
+            directory,
+            filesonly=params["files_only"],
+            pattern=params["pattern"],
+            followsymlinks=params["follow_symlinks"],
+            ignore=params["ignore"],
+        )
+        return {
+            "ok": True,
+            "result": result,
+        }

eric ide

mercurial