3434from ephys_link .back_end .platform_handler import PlatformHandler
3535from ephys_link .front_end .console import Console
3636from ephys_link .utils .constants import (
37+ MALFORMED_REQUEST_ERROR ,
3738 PORT ,
3839 PROXY_CLIENT_NOT_INITIALIZED_ERROR ,
3940 SERVER_NOT_INITIALIZED_ERROR ,
41+ UNKNOWN_EVENT_ERROR ,
4042 cannot_connect_as_client_is_already_connected_error ,
4143 client_disconnected_without_being_connected_error ,
4244)
@@ -129,13 +131,13 @@ def _malformed_request_response(self, request: str, data: tuple[tuple[Any], ...]
129131 Response for a malformed request.
130132 """
131133 self ._console .error_print ("MALFORMED REQUEST" , f"{ request } : { data } " )
132- return dumps ({ "error" : "Malformed request." } )
134+ return dumps (MALFORMED_REQUEST_ERROR )
133135
134136 async def _run_if_data_available (
135137 self ,
136138 function : Callable [[str ], Coroutine [Any , Any , VBLBaseModel ]], # pyright: ignore [reportExplicitAny]
137139 event : str ,
138- data : tuple [ tuple [ Any ], ...], # pyright: ignore [reportExplicitAny]
140+ data : Any , # pyright: ignore [reportAny, reportExplicitAny]
139141 ) -> str :
140142 """Run a function if data is available.
141143
@@ -147,17 +149,16 @@ async def _run_if_data_available(
147149 Returns:
148150 Response data from function.
149151 """
150- request_data = data [1 ]
151- if request_data :
152- return str ((await function (str (request_data ))).to_json_string ())
153- return self ._malformed_request_response (event , request_data )
152+ if data :
153+ return str ((await function (str (data ))).to_json_string ()) # pyright: ignore[reportAny]
154+ return self ._malformed_request_response (event , data ) # pyright: ignore[reportAny]
154155
155156 async def _run_if_data_parses (
156157 self ,
157158 function : Callable [[INPUT_TYPE ], Coroutine [Any , Any , OUTPUT_TYPE ]], # pyright: ignore [reportExplicitAny]
158159 data_type : type [INPUT_TYPE ],
159160 event : str ,
160- data : tuple [ tuple [ Any ], ...], # pyright: ignore [reportExplicitAny]
161+ data : Any , # pyright: ignore [reportAny, reportExplicitAny]
161162 ) -> str :
162163 """Run a function if data parses.
163164
@@ -170,18 +171,17 @@ async def _run_if_data_parses(
170171 Returns:
171172 Response data from function.
172173 """
173- request_data = data [1 ]
174- if request_data :
174+ if data :
175175 try :
176- parsed_data = data_type (** loads (str (request_data )))
176+ parsed_data = data_type (** loads (str (data ))) # pyright: ignore[reportAny]
177177 except JSONDecodeError :
178- return self ._malformed_request_response (event , request_data )
178+ return self ._malformed_request_response (event , data ) # pyright: ignore[reportAny]
179179 except ValidationError as e :
180180 self ._console .exception_error_print (event , e )
181- return self ._malformed_request_response (event , request_data )
181+ return self ._malformed_request_response (event , data ) # pyright: ignore[reportAny]
182182 else :
183183 return str ((await function (parsed_data )).to_json_string ())
184- return self ._malformed_request_response (event , request_data )
184+ return self ._malformed_request_response (event , data ) # pyright: ignore[reportAny]
185185
186186 # Event Handlers.
187187
@@ -222,14 +222,15 @@ async def disconnect(self, sid: str) -> None:
222222 else :
223223 self ._console .error_print ("DISCONNECTION" , client_disconnected_without_being_connected_error (sid ))
224224
225- async def platform_event_handler (self , event : str , * args : tuple [ Any ] ) -> str : # pyright: ignore [reportExplicitAny]
225+ async def platform_event_handler (self , event : str , _ : str , data : Any ) -> str : # pyright: ignore [reportAny, reportExplicitAny]
226226 """Handle events from the server.
227227
228228 Matches incoming events based on the Socket.IO API.
229229
230230 Args:
231231 event: Event name.
232- args: Event arguments.
232+ _: Socket session ID (unused).
233+ data: Event data.
233234
234235 Returns:
235236 Response data.
@@ -252,28 +253,27 @@ async def platform_event_handler(self, event: str, *args: tuple[Any]) -> str: #
252253 case "get_manipulators" :
253254 return str ((await self ._platform_handler .get_manipulators ()).to_json_string ())
254255 case "get_position" :
255- return await self ._run_if_data_available (self ._platform_handler .get_position , event , args )
256+ return await self ._run_if_data_available (self ._platform_handler .get_position , event , data )
256257 case "get_angles" :
257- return await self ._run_if_data_available (self ._platform_handler .get_angles , event , args )
258+ return await self ._run_if_data_available (self ._platform_handler .get_angles , event , data )
258259 case "get_shank_count" :
259- return await self ._run_if_data_available (self ._platform_handler .get_shank_count , event , args )
260+ return await self ._run_if_data_available (self ._platform_handler .get_shank_count , event , data )
260261 case "set_position" :
261262 return await self ._run_if_data_parses (
262- self ._platform_handler .set_position , SetPositionRequest , event , args
263+ self ._platform_handler .set_position , SetPositionRequest , event , data
263264 )
264265 case "set_depth" :
265- return await self ._run_if_data_parses (self ._platform_handler .set_depth , SetDepthRequest , event , args )
266+ return await self ._run_if_data_parses (self ._platform_handler .set_depth , SetDepthRequest , event , data )
266267 case "set_inside_brain" :
267268 return await self ._run_if_data_parses (
268- self ._platform_handler .set_inside_brain , SetInsideBrainRequest , event , args
269+ self ._platform_handler .set_inside_brain , SetInsideBrainRequest , event , data
269270 )
270271 case "stop" :
271- request_data = args [1 ]
272- if request_data :
273- return await self ._platform_handler .stop (str (request_data ))
274- return self ._malformed_request_response (event , request_data )
272+ if data :
273+ return await self ._platform_handler .stop (str (data )) # pyright: ignore[reportAny]
274+ return self ._malformed_request_response (event , data ) # pyright: ignore[reportAny]
275275 case "stop_all" :
276276 return await self ._platform_handler .stop_all ()
277277 case _:
278278 self ._console .error_print ("EVENT" , f"Unknown event: { event } ." )
279- return dumps ({ "error" : "Unknown event." } )
279+ return dumps (UNKNOWN_EVENT_ERROR )
0 commit comments