fixing linting issues in server.py

This commit is contained in:
Mose Müller 2023-08-02 12:06:20 +02:00
parent 95dd12bf7f
commit 1b11e88d5a

View File

@ -7,7 +7,6 @@ from types import FrameType
from typing import Any, Optional from typing import Any, Optional
import uvicorn import uvicorn
from fastapi import FastAPI
from loguru import logger from loguru import logger
from rpyc import ( from rpyc import (
ForkingServer, # can be used for multiprocessing, E.g. a database interface server ForkingServer, # can be used for multiprocessing, E.g. a database interface server
@ -28,7 +27,7 @@ except ImportError:
class Server: class Server:
def __init__( def __init__( # noqa: CFQ002
self, self,
service: DataService, service: DataService,
host: str = "0.0.0.0", host: str = "0.0.0.0",
@ -40,7 +39,6 @@ class Server:
enable_web: bool = True, enable_web: bool = True,
use_forking_server: bool = False, use_forking_server: bool = False,
web_settings: dict[str, Any] = {}, web_settings: dict[str, Any] = {},
*args: Any,
**kwargs: Any, **kwargs: Any,
) -> None: ) -> None:
self._service = service self._service = service
@ -52,12 +50,10 @@ class Server:
self._enable_tiqi_rpc = enable_tiqi_rpc self._enable_tiqi_rpc = enable_tiqi_rpc
self._enable_web = enable_web self._enable_web = enable_web
self._web_settings = web_settings self._web_settings = web_settings
self._args = args
self._kwargs = kwargs self._kwargs = kwargs
self._loop: asyncio.AbstractEventLoop self._loop: asyncio.AbstractEventLoop
self._rpc_server_type = ForkingServer if use_forking_server else ThreadedServer self._rpc_server_type = ForkingServer if use_forking_server else ThreadedServer
self.should_exit = False self.should_exit = False
# self.servers: list[asyncio.Future[Any]] = []
self.servers: dict[str, asyncio.Future[Any]] = {} self.servers: dict[str, asyncio.Future[Any]] = {}
self.executor: ThreadPoolExecutor | None = None self.executor: ThreadPoolExecutor | None = None
self._info: dict[str, Any] = { self._info: dict[str, Any] = {
@ -97,7 +93,7 @@ class Server:
def _start_autostart_tasks(self) -> None: def _start_autostart_tasks(self) -> None:
self._service._start_autostart_tasks() self._service._start_autostart_tasks()
async def startup(self) -> None: async def startup(self) -> None: # noqa: C901
self._loop = asyncio.get_running_loop() self._loop = asyncio.get_running_loop()
self._loop.set_exception_handler(self.custom_exception_handler) self._loop.set_exception_handler(self.custom_exception_handler)
self.install_signal_handlers() self.install_signal_handlers()
@ -119,9 +115,7 @@ class Server:
self.servers["rpyc"] = future_or_task self.servers["rpyc"] = future_or_task
if self._enable_tiqi_rpc and tiqi_rpc is not None: if self._enable_tiqi_rpc and tiqi_rpc is not None:
tiqi_rpc_server = tiqi_rpc.Server( tiqi_rpc_server = tiqi_rpc.Server(
RPCInterface( RPCInterface(self._data_model, info=self._info, **self._kwargs),
self._data_model, *self._args, info=self._info, **self._kwargs
),
host=self._host, host=self._host,
port=self._rpc_port, port=self._rpc_port,
) )
@ -130,7 +124,6 @@ class Server:
self.servers["tiqi-rpc"] = future_or_task self.servers["tiqi-rpc"] = future_or_task
if self._enable_web: if self._enable_web:
self._wapi: WebAPI = WebAPI( self._wapi: WebAPI = WebAPI(
*self._args,
service=self._service, service=self._service,
info=self._info, info=self._info,
**self._kwargs, **self._kwargs,
@ -148,7 +141,7 @@ class Server:
# > TypeError: Object of type list is not JSON serializable # > TypeError: Object of type list is not JSON serializable
async def notify() -> None: async def notify() -> None:
try: try:
await self._wapi.sio.emit( await self._wapi.sio.emit( # type: ignore
"notify", "notify",
{ {
"data": { "data": {
@ -239,7 +232,7 @@ class Server:
if self._enable_web: if self._enable_web:
async def emit_exception() -> None: async def emit_exception() -> None:
await self._wapi.sio.emit( await self._wapi.sio.emit( # type: ignore
"notify", "notify",
{ {
"data": { "data": {