src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py

branch
server
changeset 10596
ea35c92a3c7c
parent 10584
a596cf392291
child 10597
fbe93720ee9f
diff -r 6156d9675f62 -r ea35c92a3c7c src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py
--- 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 {

eric ide

mercurial