Skip to content

Commit

Permalink
[resotocore][fix] arg names without -- (#1641)
Browse files Browse the repository at this point in the history
  • Loading branch information
aquamatthias committed Jun 7, 2023
1 parent 5efdf42 commit b06fedc
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 13 deletions.
16 changes: 9 additions & 7 deletions resotocore/resotocore/cli/model.py
Expand Up @@ -8,7 +8,6 @@
from datetime import timedelta
from enum import Enum
from functools import reduce
from operator import attrgetter
from textwrap import dedent
from typing import Optional, List, Any, Dict, Tuple, Callable, Union, Awaitable, Type, cast, Set, AsyncIterator

Expand Down Expand Up @@ -335,7 +334,7 @@ class AliasTemplateParameter:
default: Optional[JsonElement] = None

def example_value(self) -> JsonElement:
return self.default if self.default else f"test_{self.name}"
return self.default if self.default else f"test-{self.name.replace('_', '-')}"

@property
def arg_name(self) -> str:
Expand Down Expand Up @@ -377,8 +376,8 @@ def help(self) -> str:
desc += f"\n{indent}{line}"

def param_info_infra_apps(param: InfraAppAliasParameter) -> str:
default = f" [default: {param.default}]" if param.default else ""
return f"- `{param.name}`{default}: {param.help}"
default = f" [default: {param.default}]" if param.default else " [required]"
return f"- `{param.arg_name}`{default}: {param.help}"

arg_info = f"\n{indent}".join(param_info_infra_apps(param) for param in (self.parameters or []))
result = dedent(
Expand Down Expand Up @@ -428,11 +427,14 @@ def help_with_params(self) -> str:
args = " ".join(f"{arg.arg_name} <value>" for arg in self.parameters)

def param_info(p: AliasTemplateParameter) -> str:
default = f" [default: {p.default}]" if p.default else ""
return f"- `{p.name}`{default}: {p.description}"
default = f" [default: {p.default}]" if p.default else " [required]"
return f"- `{p.arg_name}`{default}: {p.description}"

def sort_required_name(p: AliasTemplateParameter) -> Any:
return p.default is not None, p.name

indent = " "
arg_info = f"\n{indent}".join(param_info(arg) for arg in sorted(self.parameters, key=attrgetter("name")))
arg_info = f"\n{indent}".join(param_info(arg) for arg in sorted(self.parameters, key=sort_required_name))
minimal = " ".join(f'{p.arg_name} "{p.example_value()}"' for p in self.parameters if p.default is None)
desc = ""
if self.description:
Expand Down
12 changes: 6 additions & 6 deletions resotocore/tests/resotocore/cli/model_test.py
Expand Up @@ -46,8 +46,8 @@ def test_alias_template() -> None:
```
## Parameters
- `a`: some a
- `b` [default: bv]: some b
- `--a` [required]: some a
- `--b` [default: bv]: some b
## Template
```shell
Expand All @@ -57,9 +57,9 @@ def test_alias_template() -> None:
## Example
```shell
# Executing this command
> foo --a "test_a"
> foo --a "test-a"
# Will expand to this command
> test_a | bv
> test-a | bv
```
"""
)
Expand Down Expand Up @@ -116,6 +116,6 @@ def test_infra_app_alias() -> None:
readme
## Parameters
- `param_a`: some a
- `param_b` [default: default_b]: some b"""
- `--param-a` [required]: some a
- `--param-b` [default: default_b]: some b"""
)

0 comments on commit b06fedc

Please sign in to comment.