src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py

branch
server
changeset 10548
d3e21f44887b
parent 10546
300487f5f517
child 10555
08e853c0c77b
--- a/src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py	Mon Feb 05 12:09:13 2024 +0100
+++ b/src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py	Mon Feb 05 13:46:48 2024 +0100
@@ -115,29 +115,36 @@
         if not directory:
             directory = os.getcwd()
 
-        listing = []
-        for dirEntry in os.scandir(directory):
-            filestat = dirEntry.stat()
-            entry = {
-                "name": dirEntry.name,
-                "path": dirEntry.path,
-                "is_dir": dirEntry.is_dir(),
-                "is_file": dirEntry.is_file(),
-                "is_link": dirEntry.is_symlink(),
-                "mode": filestat.st_mode,
-                "mode_str": stat.filemode(filestat.st_mode),
-                "size": filestat.st_size,
-                "mtime": time.strftime(
-                    "%Y-%m-%d %H:%M:%S", time.localtime(filestat.st_mtime)
-                ),
+        try:
+            listing = []
+            for dirEntry in os.scandir(directory):
+                filestat = dirEntry.stat()
+                entry = {
+                    "name": dirEntry.name,
+                    "path": dirEntry.path,
+                    "is_dir": dirEntry.is_dir(),
+                    "is_file": dirEntry.is_file(),
+                    "is_link": dirEntry.is_symlink(),
+                    "mode": filestat.st_mode,
+                    "mode_str": stat.filemode(filestat.st_mode),
+                    "size": filestat.st_size,
+                    "mtime": time.strftime(
+                        "%Y-%m-%d %H:%M:%S", time.localtime(filestat.st_mtime)
+                    ),
+                }
+                listing.append(entry)
+
+            return {
+                "ok": True,
+                "directory": directory,
+                "listing": listing,
+                "separator": os.sep,
             }
-            listing.append(entry)
-
-        return {
-            "directory": directory,
-            "listing": listing,
-            "separator": os.sep,
-        }
+        except OSError as err:
+            return {
+                "ok": False,
+                "error": str(err),
+            }
 
     def __stat(self, params):
         """

eric ide

mercurial