diff --git a/xmo/dmz.py b/xmo/dmz.py index 2b6a7fa..125cce9 100644 --- a/xmo/dmz.py +++ b/xmo/dmz.py @@ -3,12 +3,14 @@ import re from sagemcom_api.client import SagemcomClient from . import xmo + def _validate_mac_address(ctx: click.Context, param: click.Parameter, value: str) -> str: result = value.upper() if not re.match(r"([0-9A-F]{2}:){5}[0-9A-F]{2}$", result): raise click.BadParameter('Invalid MAC address', ctx, param) return result + @xmo.cli.command() @click.option('-m', '--mac-address', callback=_validate_mac_address, prompt='MAC Address') @click.pass_obj @@ -21,6 +23,7 @@ async def enable_advanced_dmz(client: SagemcomClient, mac_address: str) -> None: click.echo(e, err=True) raise click.Abort() + @xmo.cli.command() @click.pass_context async def disable_advanced_dmz(ctx: click.Context): diff --git a/xmo/dns.py b/xmo/dns.py index 9434e46..33edf84 100644 --- a/xmo/dns.py +++ b/xmo/dns.py @@ -3,6 +3,7 @@ from ipaddress import IPv4Address from sagemcom_api.client import SagemcomClient from . import xmo + @xmo.cli.command() @click.option('-s', '--dns-servers', required=True, nargs=2, type=IPv4Address) @click.pass_obj diff --git a/xmo/wifi.py b/xmo/wifi.py index ebd60e2..aa5bcde 100644 --- a/xmo/wifi.py +++ b/xmo/wifi.py @@ -2,6 +2,7 @@ import asyncclick as click from sagemcom_api.client import SagemcomClient from . import xmo + @xmo.cli.command() @click.option('-r', '--radios', multiple=True) @click.pass_obj diff --git a/xmo/xmo.py b/xmo/xmo.py index 2243949..0916e81 100644 --- a/xmo/xmo.py +++ b/xmo/xmo.py @@ -63,7 +63,6 @@ async def get_value(ctx: click.Context, path: str) -> None: click.echo(json.dumps(value, indent=2)) - @cli.command() @click.option('--path', required=True) @click.option('--value', required=True)