src/eric7/RemoteServer/EricServerFileSystemRequestHandler.py

branch
server
changeset 10576
0cf5ebf17411
parent 10561
be23a662d709
child 10583
2114cc7275e8
equal deleted inserted replaced
10575:abde60847db6 10576:0cf5ebf17411
10 import base64 10 import base64
11 import contextlib 11 import contextlib
12 import os 12 import os
13 import stat 13 import stat
14 import time 14 import time
15
16 from eric7.SystemUtilities import FileSystemUtilities
15 17
16 from .EricRequestCategory import EricRequestCategory 18 from .EricRequestCategory import EricRequestCategory
17 19
18 20
19 class EricServerFileSystemRequestHandler: 21 class EricServerFileSystemRequestHandler:
39 "Replace": self.__replace, 41 "Replace": self.__replace,
40 "Remove": self.__remove, 42 "Remove": self.__remove,
41 "Stat": self.__stat, 43 "Stat": self.__stat,
42 "Exists": self.__exists, 44 "Exists": self.__exists,
43 "Access": self.__access, 45 "Access": self.__access,
44
45 "ReadFile": self.__readFile, 46 "ReadFile": self.__readFile,
46 "WriteFile": self.__writeFile, 47 "WriteFile": self.__writeFile,
48 "DirEntries": self.__dirEntries,
47 } 49 }
48 50
49 def handleRequest(self, request, params, reqestUuid): 51 def handleRequest(self, request, params, reqestUuid):
50 """ 52 """
51 Public method handling the received file system requests. 53 Public method handling the received file system requests.
301 try: 303 try:
302 with open(filename, "rb") as f: 304 with open(filename, "rb") as f:
303 data = f.read() 305 data = f.read()
304 return { 306 return {
305 "ok": True, 307 "ok": True,
306 "filedata": str(base64.b85encode(data), encoding="ascii") 308 "filedata": str(base64.b85encode(data), encoding="ascii"),
307 } 309 }
308 except OSError as err: 310 except OSError as err:
309 return { 311 return {
310 "ok": False, 312 "ok": False,
311 "error": str(err), 313 "error": str(err),
349 except OSError as err: 351 except OSError as err:
350 return { 352 return {
351 "ok": False, 353 "ok": False,
352 "error": str(err), 354 "error": str(err),
353 } 355 }
356
357 def __dirEntries(self, params):
358 """
359 Private method to get a list of all files and directories of a given directory.
360
361 @param params dictionary containing the request data
362 @type dict
363 @return dictionary containing the reply data
364 @rtype dict
365 """
366 directory = params["directory"]
367 result = FileSystemUtilities.direntries(
368 directory,
369 filesonly=params["files_only"],
370 pattern=params["pattern"],
371 followsymlinks=params["follow_symlinks"],
372 ignore=params["ignore"],
373 )
374 return {
375 "ok": True,
376 "result": result,
377 }

eric ide

mercurial