MCPcopy Create free account
hub / github.com/EasyIME/PIME / handleRequest

Method handleRequest

python/textService.py:83–141  ·  view source on GitHub ↗
(self, msg)

Source from the content-addressed store, hash-verified

81 pass
82
83 def handleRequest(self, msg): # msg is a json object
84 method = msg.get("method", None)
85 seqNum = msg.get("seqNum", 0)
86 success = True # if the method is successfully handled
87 ret = None # the return value of the method, if any
88
89 if self.isActivated:
90 self.checkConfigChange() # check if configurations are changed
91
92 self.updateStatus(msg)
93 if method == "filterKeyDown":
94 keyEvent = KeyEvent(msg)
95 ret = self.filterKeyDown(keyEvent)
96 elif method == "onKeyDown":
97 keyEvent = KeyEvent(msg)
98 ret = self.onKeyDown(keyEvent)
99 elif method == "filterKeyUp":
100 keyEvent = KeyEvent(msg)
101 ret = self.filterKeyUp(keyEvent)
102 elif method == "onKeyUp":
103 keyEvent = KeyEvent(msg)
104 ret = self.onKeyUp(keyEvent)
105 elif method == "onPreservedKey":
106 guid = msg["guid"].lower()
107 ret = self.onPreservedKey(guid)
108 elif method == "onCommand":
109 commandId = msg["id"]
110 commandType = msg["type"]
111 self.onCommand(commandId, commandType)
112 elif method == "onMenu":
113 buttonId = msg["id"]
114 ret = self.onMenu(buttonId)
115 elif method == "onCompartmentChanged":
116 guid = msg["guid"].lower()
117 self.onCompartmentChanged(guid)
118 elif method == "onKeyboardStatusChanged":
119 opened = msg["opened"]
120 self.onKeyboardStatusChanged(opened)
121 elif method == "onCompositionTerminated":
122 forced = msg["forced"]
123 self.onCompositionTerminated(forced)
124 elif method == "onActivate":
125 self.isActivated = True
126 self.keyboardOpen = msg["isKeyboardOpen"]
127 self.onActivate()
128 elif method == "onDeactivate":
129 self.onDeactivate()
130 self.isActivated = False
131 else:
132 success = False
133
134 # fetch the current reply of the method
135 reply = self.currentReply
136 self.currentReply = {}
137 if ret is not None:
138 reply["return"] = ret
139 reply["success"] = success
140 reply["seqNum"] = seqNum # reply with sequence number added

Callers

nothing calls this directly

Calls 15

checkConfigChangeMethod · 0.95
updateStatusMethod · 0.95
filterKeyDownMethod · 0.95
onKeyDownMethod · 0.95
filterKeyUpMethod · 0.95
onKeyUpMethod · 0.95
onPreservedKeyMethod · 0.95
onCommandMethod · 0.95
onMenuMethod · 0.95
onCompartmentChangedMethod · 0.95

Tested by

no test coverage detected