mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-15 10:40:28 +08:00
option to disable log reader
This commit is contained in:
parent
0afc513de8
commit
6f4131c3f6
@ -381,6 +381,10 @@ def _get_config_scheme() -> dict:
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"log_reader": {
|
||||||
|
"enabled": Option(True, type=valid_bool),
|
||||||
|
},
|
||||||
|
|
||||||
"hid": {
|
"hid": {
|
||||||
"type": Option("", type=valid_stripped_string_not_empty),
|
"type": Option("", type=valid_stripped_string_not_empty),
|
||||||
|
|
||||||
|
|||||||
@ -82,7 +82,7 @@ def main(argv: (list[str] | None)=None) -> None:
|
|||||||
enabled=config.auth.enabled,
|
enabled=config.auth.enabled,
|
||||||
),
|
),
|
||||||
info_manager=InfoManager(global_config),
|
info_manager=InfoManager(global_config),
|
||||||
log_reader=LogReader(),
|
log_reader=(LogReader() if config.log_reader.enabled else None),
|
||||||
user_gpio=UserGpio(config.gpio, global_config.otg),
|
user_gpio=UserGpio(config.gpio, global_config.otg),
|
||||||
ocr=TesseractOcr(**config.ocr._unpack()),
|
ocr=TesseractOcr(**config.ocr._unpack()),
|
||||||
|
|
||||||
|
|||||||
@ -23,6 +23,8 @@
|
|||||||
from aiohttp.web import Request
|
from aiohttp.web import Request
|
||||||
from aiohttp.web import StreamResponse
|
from aiohttp.web import StreamResponse
|
||||||
|
|
||||||
|
from ....errors import OperationError
|
||||||
|
|
||||||
from ....htserver import exposed_http
|
from ....htserver import exposed_http
|
||||||
from ....htserver import start_streaming
|
from ....htserver import start_streaming
|
||||||
|
|
||||||
@ -33,14 +35,21 @@ from ..logreader import LogReader
|
|||||||
|
|
||||||
|
|
||||||
# =====
|
# =====
|
||||||
|
class LogReaderDisabledError(OperationError):
|
||||||
|
def __init__(self) -> None:
|
||||||
|
super().__init__("LogReader is disabled")
|
||||||
|
|
||||||
|
|
||||||
class LogApi:
|
class LogApi:
|
||||||
def __init__(self, log_reader: LogReader) -> None:
|
def __init__(self, log_reader: (LogReader | None)) -> None:
|
||||||
self.__log_reader = log_reader
|
self.__log_reader = log_reader
|
||||||
|
|
||||||
# =====
|
# =====
|
||||||
|
|
||||||
@exposed_http("GET", "/log")
|
@exposed_http("GET", "/log")
|
||||||
async def __log_handler(self, request: Request) -> StreamResponse:
|
async def __log_handler(self, request: Request) -> StreamResponse:
|
||||||
|
if self.__log_reader is None:
|
||||||
|
raise LogReaderDisabledError()
|
||||||
seek = valid_log_seek(request.query.get("seek", 0))
|
seek = valid_log_seek(request.query.get("seek", 0))
|
||||||
follow = valid_bool(request.query.get("follow", False))
|
follow = valid_bool(request.query.get("follow", False))
|
||||||
response = await start_streaming(request, "text/plain")
|
response = await start_streaming(request, "text/plain")
|
||||||
|
|||||||
@ -128,7 +128,7 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
|
|||||||
self,
|
self,
|
||||||
auth_manager: AuthManager,
|
auth_manager: AuthManager,
|
||||||
info_manager: InfoManager,
|
info_manager: InfoManager,
|
||||||
log_reader: LogReader,
|
log_reader: (LogReader | None),
|
||||||
user_gpio: UserGpio,
|
user_gpio: UserGpio,
|
||||||
ocr: TesseractOcr,
|
ocr: TesseractOcr,
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user