mirror of
https://github.com/simonw/dclient.git
synced 2026-09-28 04:44:28 +02:00
alias remove command, alias list --json option - refs #2
This commit is contained in:
parent
6bc35f46c2
commit
ff3b64f425
3 changed files with 103 additions and 5 deletions
|
|
@ -49,12 +49,16 @@ def alias():
|
|||
|
||||
|
||||
@alias.command(name="list")
|
||||
def list_():
|
||||
@click.option("_json", "--json", is_flag=True, help="Output raw JSON")
|
||||
def list_(_json):
|
||||
"List aliases"
|
||||
aliases_file = get_config_dir() / "aliases.json"
|
||||
aliases = _load_aliases(aliases_file)
|
||||
for alias, url in aliases.items():
|
||||
click.echo(f"{alias} = {url}")
|
||||
if _json:
|
||||
click.echo(json.dumps(aliases, indent=2))
|
||||
else:
|
||||
for alias, url in aliases.items():
|
||||
click.echo(f"{alias} = {url}")
|
||||
|
||||
|
||||
@alias.command()
|
||||
|
|
@ -70,6 +74,20 @@ def add(name, url):
|
|||
aliases_file.write_text(json.dumps(aliases, indent=4))
|
||||
|
||||
|
||||
@alias.command()
|
||||
@click.argument("name")
|
||||
def remove(name):
|
||||
"Remove an alias"
|
||||
config_dir = get_config_dir()
|
||||
aliases_file = config_dir / "aliases.json"
|
||||
aliases = _load_aliases(aliases_file)
|
||||
if name in aliases:
|
||||
del aliases[name]
|
||||
aliases_file.write_text(json.dumps(aliases, indent=4))
|
||||
else:
|
||||
raise click.ClickException("No such alias")
|
||||
|
||||
|
||||
def _load_aliases(aliases_file):
|
||||
if aliases_file.exists():
|
||||
aliases = json.loads(aliases_file.read_text())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue