mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-13 01:30:31 +08:00
refactoring
This commit is contained in:
parent
ef8b6cfda5
commit
3389dbe048
@ -37,7 +37,7 @@ from ....plugins.hid import BaseHid
|
||||
from ....validators import raise_error
|
||||
|
||||
from ....validators.basic import valid_bool
|
||||
from ....validators.basic import valid_number
|
||||
from ....validators.basic import valid_int_f0
|
||||
|
||||
from ....validators.os import valid_printable_filename
|
||||
|
||||
@ -98,7 +98,7 @@ class HidApi:
|
||||
@exposed_http("POST", "/hid/print")
|
||||
async def __print_handler(self, request: Request) -> Response:
|
||||
text = await request.text()
|
||||
limit = int(valid_number(request.query.get("limit", "1024"), min=0, type=int))
|
||||
limit = int(valid_int_f0(request.query.get("limit", "1024")))
|
||||
if limit > 0:
|
||||
text = text[:limit]
|
||||
symmap = self.__ensure_symmap(request.query.get("keymap", self.__default_keymap_name))
|
||||
|
||||
@ -31,7 +31,7 @@ from typing import Optional
|
||||
import psutil
|
||||
|
||||
from ...validators.basic import valid_bool
|
||||
from ...validators.basic import valid_number
|
||||
from ...validators.basic import valid_int_f0
|
||||
|
||||
from ...validators.os import valid_abs_file
|
||||
|
||||
@ -90,7 +90,7 @@ def main(argv: Optional[List[str]]=None) -> None:
|
||||
description="KVMD OTG-MSD low-level hand tool",
|
||||
parents=[parent_parser],
|
||||
)
|
||||
parser.add_argument("-i", "--instance", default=0, type=(lambda arg: valid_number(arg, min=0)),
|
||||
parser.add_argument("-i", "--instance", default=0, type=valid_int_f0,
|
||||
metavar="<N>", help="Drive instance (0 for KVMD drive)")
|
||||
parser.add_argument("--unlock", action="store_true",
|
||||
help="Send SIGUSR1 to MSD kernel thread")
|
||||
|
||||
@ -30,7 +30,7 @@ import pam
|
||||
|
||||
from ...yamlconf import Option
|
||||
|
||||
from ...validators.basic import valid_number
|
||||
from ...validators.basic import valid_int_f0
|
||||
from ...validators.auth import valid_users_list
|
||||
|
||||
from ...logging import get_logger
|
||||
@ -63,7 +63,7 @@ class Plugin(BaseAuthService):
|
||||
"service": Option("login"),
|
||||
"allow_users": Option([], type=valid_users_list),
|
||||
"deny_users": Option([], type=valid_users_list),
|
||||
"allow_uids_at": Option(0, type=(lambda arg: valid_number(arg, min=0))),
|
||||
"allow_uids_at": Option(0, type=valid_int_f0),
|
||||
}
|
||||
|
||||
async def authorize(self, user: str, passwd: str) -> bool:
|
||||
|
||||
@ -84,6 +84,10 @@ def valid_number(
|
||||
return arg
|
||||
|
||||
|
||||
def valid_int_f0(arg: Any) -> int:
|
||||
return int(valid_number(arg, min=0))
|
||||
|
||||
|
||||
def valid_int_f1(arg: Any) -> int:
|
||||
return int(valid_number(arg, min=1))
|
||||
|
||||
|
||||
@ -28,6 +28,7 @@ import pytest
|
||||
from kvmd.validators import ValidatorError
|
||||
from kvmd.validators.basic import valid_bool
|
||||
from kvmd.validators.basic import valid_number
|
||||
from kvmd.validators.basic import valid_int_f0
|
||||
from kvmd.validators.basic import valid_int_f1
|
||||
from kvmd.validators.basic import valid_float_f0
|
||||
from kvmd.validators.basic import valid_float_f01
|
||||
@ -82,6 +83,20 @@ def test_fail__valid_number__min_max(arg: Any) -> None: # pylint: disable=inval
|
||||
print(valid_number(arg, -5, 5))
|
||||
|
||||
|
||||
# =====
|
||||
@pytest.mark.parametrize("arg", [0, 1, 5, "5 "])
|
||||
def test_ok__valid_int_f0(arg: Any) -> None:
|
||||
value = valid_int_f0(arg)
|
||||
assert type(value) == int # pylint: disable=unidiomatic-typecheck
|
||||
assert value == int(str(arg).strip())
|
||||
|
||||
|
||||
@pytest.mark.parametrize("arg", ["test", "", None, -6, "-6 ", "5.0"])
|
||||
def test_fail__valid_int_f0(arg: Any) -> None:
|
||||
with pytest.raises(ValidatorError):
|
||||
print(valid_int_f0(arg))
|
||||
|
||||
|
||||
# =====
|
||||
@pytest.mark.parametrize("arg", [1, 5, "5 "])
|
||||
def test_ok__valid_int_f1(arg: Any) -> None:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user