mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-13 09:40:30 +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": {
|
||||
"type": Option("", type=valid_stripped_string_not_empty),
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ def main(argv: (list[str] | None)=None) -> None:
|
||||
enabled=config.auth.enabled,
|
||||
),
|
||||
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),
|
||||
ocr=TesseractOcr(**config.ocr._unpack()),
|
||||
|
||||
|
||||
@ -23,6 +23,8 @@
|
||||
from aiohttp.web import Request
|
||||
from aiohttp.web import StreamResponse
|
||||
|
||||
from ....errors import OperationError
|
||||
|
||||
from ....htserver import exposed_http
|
||||
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:
|
||||
def __init__(self, log_reader: LogReader) -> None:
|
||||
def __init__(self, log_reader: (LogReader | None)) -> None:
|
||||
self.__log_reader = log_reader
|
||||
|
||||
# =====
|
||||
|
||||
@exposed_http("GET", "/log")
|
||||
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))
|
||||
follow = valid_bool(request.query.get("follow", False))
|
||||
response = await start_streaming(request, "text/plain")
|
||||
|
||||
@ -128,7 +128,7 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
|
||||
self,
|
||||
auth_manager: AuthManager,
|
||||
info_manager: InfoManager,
|
||||
log_reader: LogReader,
|
||||
log_reader: (LogReader | None),
|
||||
user_gpio: UserGpio,
|
||||
ocr: TesseractOcr,
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user