Thu, 11 Jul 2024 14:21:34 +0200
MicroPython
- Updated the list of known CircuitPython boards for CPy 9.1.0.
- Updated the list of known UF2 capable boards.
10774
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the editor config request handler of the eric-ide server. |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import editorconfig |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | from .EricRequestCategory import EricRequestCategory |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | from .EricServerBaseRequestHandler import EricServerBaseRequestHandler |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | class EricServerEditorConfigRequestHandler(EricServerBaseRequestHandler): |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | """ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | Class implementing the editor config request handler of the eric-ide server. |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | """ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | def __init__(self, server): |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | """ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | Constructor |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | @param server reference to the eric-ide server object |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | @type EricServer |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | super().__init__(server) |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | self._category = EricRequestCategory.EditorConfig |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | self._requestMethodMapping = { |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | "LoadEditorConfig": self.__loadEditorConfig, |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | } |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | ############################################################################ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | ## Editor Config related methods below |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | ############################################################################ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | def __loadEditorConfig(self, params): |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | """ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | Private method to load the EditorConfig properties for the given |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | file name. |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @param params dictionary containing the request data |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | @type dict |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | @return dictionary containing the reply data |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | @rtype dict |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | """ |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | fileName = params["filename"] |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | if fileName: |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | try: |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | editorConfig = editorconfig.get_properties(fileName) |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | return { |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | "ok": True, |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | "config": editorConfig, |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | } |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | except editorconfig.EditorConfigError: |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | return { |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | "ok": False, |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | "config": {}, |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | } |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | return { |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | "ok": True, |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | "config": {}, |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | } |