diff options
author | Devaev Maxim <[email protected]> | 2020-09-08 12:32:16 +0300 |
---|---|---|
committer | Devaev Maxim <[email protected]> | 2020-09-08 12:32:16 +0300 |
commit | d528a3002e53bb7a5b5e6d9b5385252372738fbf (patch) | |
tree | 9746fb7061c82ec101f01151a440e1659799df6e /kvmd/apps/__init__.py | |
parent | d932a937caede7f54c0f4384ce08f7ecc291af23 (diff) |
refactoring
Diffstat (limited to 'kvmd/apps/__init__.py')
-rw-r--r-- | kvmd/apps/__init__.py | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/kvmd/apps/__init__.py b/kvmd/apps/__init__.py index 4afd6b3a..b3197306 100644 --- a/kvmd/apps/__init__.py +++ b/kvmd/apps/__init__.py @@ -29,6 +29,7 @@ import logging.config from typing import Tuple from typing import List from typing import Dict +from typing import Set from typing import Optional import pygments @@ -52,8 +53,6 @@ from ..yamlconf import build_raw_from_options from ..yamlconf.dumper import make_config_dump from ..yamlconf.loader import load_yaml_file -from ..validators import check_string_in_list - from ..validators.basic import valid_stripped_string from ..validators.basic import valid_stripped_string_not_empty from ..validators.basic import valid_bool @@ -181,7 +180,7 @@ def _patch_dynamic( # pylint: disable=too-many-locals rebuild = True if load_gpio: - drivers: List[str] = [] + drivers: Set[str] = set() for (driver, params) in { # type: ignore "__gpio__": {}, **tools.rget(raw_config, "kvmd", "gpio", "drivers"), @@ -192,17 +191,13 @@ def _patch_dynamic( # pylint: disable=too-many-locals "type": Option(driver_type, type=valid_stripped_string_not_empty), **get_ugpio_driver_class(driver_type).get_plugin_options() } - drivers.append(driver) + drivers.add(driver) for (channel, params) in tools.rget(raw_config, "kvmd", "gpio", "scheme").items(): channel = valid_ugpio_channel(channel) mode = valid_ugpio_mode(params.get("mode", "")) scheme["kvmd"]["gpio"]["scheme"][channel] = { - "driver": Option("__gpio__", type=(lambda arg: check_string_in_list( - arg=valid_stripped_string_not_empty(arg), - name="configured GPIO driver", - variants=drivers, - ))), + "driver": Option("__gpio__", type=(lambda arg: valid_ugpio_driver(arg, drivers))), "pin": Option(-1, type=valid_gpio_pin), "mode": Option("", type=valid_ugpio_mode), "inverted": Option(False, type=valid_bool), |