src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py

branch
server
changeset 10610
bb0149571d94
parent 10605
b6f5e27daeb5
child 10630
552a790fd9bc
--- 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),
+            }

eric ide

mercurial