--- a/src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py Mon Feb 19 19:37:00 2024 +0100 +++ b/src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py Thu Feb 22 16:26:46 2024 +0100 @@ -38,6 +38,7 @@ "Getcwd": self.__getcwd, "Listdir": self.__listdir, "Mkdir": self.__mkdir, + "MakeDirs": self.__makedirs, "Rmdir": self.__rmdir, "Replace": self.__replace, "Remove": self.__remove, @@ -73,7 +74,12 @@ self.__server.sendJson( category=EricRequestCategory.FileSystem, reply=request, - params={"Error": f"Request type '{request}' is not supported."}, + params={ + "ok": False, + "error": f"Request type '{request}' is not supported.", + "info": list(self.__requestMethodMapping.keys()), + }, + reqestUuid=reqestUuid, ) def __getPathSeparator(self, params): @@ -96,9 +102,8 @@ @return dictionary containing the reply data @rtype dict """ - directory = params["directory"] try: - os.chdir(directory) + os.chdir(params["directory"]) return {"ok": True} except OSError as err: return { @@ -170,12 +175,9 @@ @return dictionary containing the reply data @rtype dict """ - filename = params["filename"] - statItems = params["st_names"] - try: - result = os.stat(filename) - resultDict = {st: getattr(result, st) for st in statItems} + result = os.stat(params["filename"]) + resultDict = {st: getattr(result, st) for st in params["st_names"]} return {"ok": True, "result": resultDict} except OSError as err: return { @@ -224,10 +226,26 @@ @return dictionary containing the reply data @rtype dict """ - directory = params["directory"] + try: + os.mkdir(params["directory"]) + return {"ok": True} + except OSError as err: + return { + "ok": False, + "error": str(err), + } + def __makedirs(self, params): + """ + Private method to create a new directory. + + @param params dictionary containing the request data + @type dict + @return dictionary containing the reply data + @rtype dict + """ try: - os.makedirs(directory) + os.makedirs(params["directory"], exist_ok=params["exist_ok"]) return {"ok": True} except OSError as err: return { @@ -244,10 +262,8 @@ @return dictionary containing the reply data @rtype dict """ - directory = params["directory"] - try: - os.rmdir(directory) + os.rmdir(params["directory"]) return {"ok": True} except OSError as err: return { @@ -265,11 +281,8 @@ @return dictionary containing the reply data @rtype dict """ - oldName = params["old_name"] - newName = params["new_name"] - try: - os.replace(oldName, newName) + os.replace(params["old_name"], params["new_name"]) return {"ok": True} except OSError as err: return { @@ -286,10 +299,8 @@ @return dictionary containing the reply data @rtype dict """ - filename = params["filename"] - try: - os.remove(filename) + os.remove(params["filename"]) return {"ok": True} except OSError as err: return {