--- a/src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py Fri Feb 23 16:52:01 2024 +0100 +++ b/src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py Mon Feb 26 10:41:10 2024 +0100 @@ -51,6 +51,7 @@ "DirEntries": self.__dirEntries, "ExpandUser": self.__expanduser, "ShutilCopy": self.__shutilCopy, + "ShutilRmtree": self.__shutilRmtree, } def handleRequest(self, request, params, reqestUuid): @@ -415,7 +416,7 @@ """ return { "ok": True, - "name": os.path.expanduser(params["name"]) + "name": os.path.expanduser(params["name"]), } def __shutilCopy(self, params): @@ -437,3 +438,21 @@ "ok": False, "error": str(err), } + + def __shutilRmtree(self, params): + """ + Private method to delete an entire directory tree. + + @param params dictionary containing the request data + @type dict + @return dictionary containing the reply data + @rtype dict + """ + try: + shutil.rmtree(params["name"], params["ignore_errors"]) + return {"ok": True} + except OSError as err: + return { + "ok": False, + "error": str(err), + }