some validation

This commit is contained in:
Devaev Maxim
2019-10-15 05:29:01 +03:00
parent a88ad42501
commit e58ad66da9
3 changed files with 58 additions and 3 deletions

View File

@@ -68,6 +68,8 @@ from ..validators.kvm import valid_stream_quality
from ..validators.kvm import valid_stream_fps
from ..validators.hw import valid_gpio_pin_optional
from ..validators.hw import valid_otg_gadget
from ..validators.hw import valid_otg_id
# =====
@@ -247,9 +249,9 @@ def _get_config_scheme() -> Dict:
},
"otg": {
"gadget": Option("kvmd"),
"vendor_id": Option(0x1D6B, type=valid_number), # Linux Foundation
"product_id": Option(0x0104, type=valid_number), # Multifunction Composite Gadget
"gadget": Option("kvmd", type=valid_otg_gadget),
"vendor_id": Option(0x1D6B, type=valid_otg_id), # Linux Foundation
"product_id": Option(0x0104, type=valid_otg_id), # Multifunction Composite Gadget
"manufacturer": Option("Pi-KVM"),
"product": Option("Composite KVM Device"),
"serial_number": Option("CAFEBABE"),

View File

@@ -23,6 +23,7 @@
from typing import Any
from . import check_in_list
from . import check_re_match
from .basic import valid_number
@@ -40,3 +41,11 @@ def valid_gpio_pin(arg: Any) -> int:
def valid_gpio_pin_optional(arg: Any) -> int:
return int(valid_number(arg, min=-1, name="optional GPIO pin"))
def valid_otg_gadget(arg: Any) -> str:
return check_re_match(arg, "OTG gadget name", r"^[a-z_][a-z0-9_-]*$")[:255]
def valid_otg_id(arg: Any) -> int:
return int(valid_number(arg, min=0, max=65535, name="OTG ID"))