11 from coverage.misc import CoverageException |
11 from coverage.misc import CoverageException |
12 |
12 |
13 from eric7.SystemUtilities import FileSystemUtilities |
13 from eric7.SystemUtilities import FileSystemUtilities |
14 |
14 |
15 from .EricRequestCategory import EricRequestCategory |
15 from .EricRequestCategory import EricRequestCategory |
|
16 from .EricServerBaseRequestHandler import EricServerBaseRequestHandler |
16 |
17 |
17 |
18 |
18 class EricServerCoverageRequestHandler: |
19 class EricServerCoverageRequestHandler(EricServerBaseRequestHandler): |
19 """ |
20 """ |
20 Class implementing the code coverage request handler of the eric-ide server. |
21 Class implementing the code coverage request handler of the eric-ide server. |
21 """ |
22 """ |
22 |
23 |
23 def __init__(self, server): |
24 def __init__(self, server): |
25 Constructor |
26 Constructor |
26 |
27 |
27 @param server reference to the eric-ide server object |
28 @param server reference to the eric-ide server object |
28 @type EricServer |
29 @type EricServer |
29 """ |
30 """ |
30 self.__server = server |
31 super().__init__(server) |
31 |
32 |
32 self.__requestMethodMapping = { |
33 self._category = EricRequestCategory.Coverage |
|
34 |
|
35 self._requestMethodMapping = { |
33 "LoadData": self.__loadCoverageData, |
36 "LoadData": self.__loadCoverageData, |
34 "AnalyzeFile": self.__analyzeFile, |
37 "AnalyzeFile": self.__analyzeFile, |
35 "AnalyzeFiles": self.__analyzeFiles, |
38 "AnalyzeFiles": self.__analyzeFiles, |
36 "AnalyzeDirectory": self.__analyzeDirectory, |
39 "AnalyzeDirectory": self.__analyzeDirectory, |
37 } |
40 } |
38 |
41 |
39 self.__cover = None |
42 self.__cover = None |
40 |
43 |
41 def handleRequest(self, request, params, reqestUuid): |
44 ############################################################################ |
42 """ |
45 ## Coverage related methods below |
43 Public method handling the received file system requests. |
46 ############################################################################ |
44 |
|
45 @param request request name |
|
46 @type str |
|
47 @param params dictionary containing the request parameters |
|
48 @type dict |
|
49 @param reqestUuid UUID of the associated request as sent by the eric IDE |
|
50 @type str |
|
51 """ |
|
52 try: |
|
53 result = self.__requestMethodMapping[request](params) |
|
54 self.__server.sendJson( |
|
55 category=EricRequestCategory.Coverage, |
|
56 reply=request, |
|
57 params=result, |
|
58 reqestUuid=reqestUuid, |
|
59 ) |
|
60 |
|
61 except KeyError: |
|
62 self.__server.sendJson( |
|
63 category=EricRequestCategory.Coverage, |
|
64 reply=request, |
|
65 params={"Error": f"Request type '{request}' is not supported."}, |
|
66 ) |
|
67 |
47 |
68 def __loadCoverageData(self, params): |
48 def __loadCoverageData(self, params): |
69 """ |
49 """ |
70 Private method to load the data collected by a code coverage run. |
50 Private method to load the data collected by a code coverage run. |
71 |
51 |