113 """ |
113 """ |
114 directory = params["directory"] |
114 directory = params["directory"] |
115 if not directory: |
115 if not directory: |
116 directory = os.getcwd() |
116 directory = os.getcwd() |
117 |
117 |
118 listing = [] |
118 try: |
119 for dirEntry in os.scandir(directory): |
119 listing = [] |
120 filestat = dirEntry.stat() |
120 for dirEntry in os.scandir(directory): |
121 entry = { |
121 filestat = dirEntry.stat() |
122 "name": dirEntry.name, |
122 entry = { |
123 "path": dirEntry.path, |
123 "name": dirEntry.name, |
124 "is_dir": dirEntry.is_dir(), |
124 "path": dirEntry.path, |
125 "is_file": dirEntry.is_file(), |
125 "is_dir": dirEntry.is_dir(), |
126 "is_link": dirEntry.is_symlink(), |
126 "is_file": dirEntry.is_file(), |
127 "mode": filestat.st_mode, |
127 "is_link": dirEntry.is_symlink(), |
128 "mode_str": stat.filemode(filestat.st_mode), |
128 "mode": filestat.st_mode, |
129 "size": filestat.st_size, |
129 "mode_str": stat.filemode(filestat.st_mode), |
130 "mtime": time.strftime( |
130 "size": filestat.st_size, |
131 "%Y-%m-%d %H:%M:%S", time.localtime(filestat.st_mtime) |
131 "mtime": time.strftime( |
132 ), |
132 "%Y-%m-%d %H:%M:%S", time.localtime(filestat.st_mtime) |
133 } |
133 ), |
134 listing.append(entry) |
134 } |
135 |
135 listing.append(entry) |
136 return { |
136 |
137 "directory": directory, |
137 return { |
138 "listing": listing, |
138 "ok": True, |
139 "separator": os.sep, |
139 "directory": directory, |
140 } |
140 "listing": listing, |
|
141 "separator": os.sep, |
|
142 } |
|
143 except OSError as err: |
|
144 return { |
|
145 "ok": False, |
|
146 "error": str(err), |
|
147 } |
141 |
148 |
142 def __stat(self, params): |
149 def __stat(self, params): |
143 """ |
150 """ |
144 Private method to get the status of a file. |
151 Private method to get the status of a file. |
145 |
152 |