src/eric7/RemoteServer/EricServerEditorConfigRequestHandler.py

Sat, 26 Apr 2025 12:34:32 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 26 Apr 2025 12:34:32 +0200
branch
eric7
changeset 11240
c48c615c04a3
parent 11090
f5f5f5803935
permissions
-rw-r--r--

MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.

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
11090
f5f5f5803935 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10774
diff changeset
3 # Copyright (c) 2024 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
10774
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 }

eric ide

mercurial