mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-29 00:51:53 +08:00
refactoring
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
import re
|
||||
|
||||
from typing import List
|
||||
from typing import Set
|
||||
from typing import Mapping
|
||||
from typing import Sequence
|
||||
from typing import Callable
|
||||
@@ -62,13 +63,19 @@ def check_not_none_string(arg: Any, name: str, strip: bool=True) -> str:
|
||||
return arg
|
||||
|
||||
|
||||
def check_in_list(arg: Any, name: str, variants: Union[Sequence, Mapping]) -> Any:
|
||||
def check_in_list(arg: Any, name: str, variants: Union[Sequence, Mapping, Set]) -> Any:
|
||||
if arg not in variants:
|
||||
raise_error(arg, name)
|
||||
return arg
|
||||
|
||||
|
||||
def check_string_in_list(arg: Any, name: str, variants: Union[Sequence[str], Mapping[str, Any]], lower: bool=True) -> str:
|
||||
def check_string_in_list(
|
||||
arg: Any,
|
||||
name: str,
|
||||
variants: Union[Sequence[str], Mapping[str, Any], Set[str]],
|
||||
lower: bool=True,
|
||||
) -> str:
|
||||
|
||||
arg = check_not_none_string(arg, name)
|
||||
if lower:
|
||||
arg = arg.lower()
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
|
||||
from typing import List
|
||||
from typing import Set
|
||||
from typing import Optional
|
||||
from typing import Any
|
||||
|
||||
from ..keyboard.mappings import KEYMAP
|
||||
@@ -92,9 +94,12 @@ def valid_hid_mouse_wheel(arg: Any) -> int:
|
||||
|
||||
|
||||
# =====
|
||||
def valid_ugpio_driver(arg: Any) -> str:
|
||||
def valid_ugpio_driver(arg: Any, variants: Optional[Set[str]]=None) -> str:
|
||||
name = "GPIO driver"
|
||||
return check_len(check_re_match(arg, name, r"^[a-zA-Z_][a-zA-Z0-9_-]*$"), name, 255)
|
||||
arg = check_len(check_re_match(arg, name, r"^[a-zA-Z_][a-zA-Z0-9_-]*$"), name, 255)
|
||||
if variants is not None:
|
||||
arg = check_string_in_list(arg, f"configured {name}", variants)
|
||||
return arg
|
||||
|
||||
|
||||
def valid_ugpio_mode(arg: Any) -> str:
|
||||
|
||||
Reference in New Issue
Block a user