--- 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, + }