Add command aliases
This commit is contained in:
parent
272ec492f8
commit
5aae0f8326
|
@ -101,7 +101,8 @@ def get_parser(valid_commands):
|
||||||
# Create the subparser, set the docstring as the description.
|
# Create the subparser, set the docstring as the description.
|
||||||
cmd = subp.add_parser(name,
|
cmd = subp.add_parser(name,
|
||||||
description=process_doc(func.__doc__),
|
description=process_doc(func.__doc__),
|
||||||
formatter_class=argparse.RawDescriptionHelpFormatter)
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||||
|
aliases=func.__dict__.get("aliases", []))
|
||||||
# Delegate subparser setup to the command.
|
# Delegate subparser setup to the command.
|
||||||
func(cmd)
|
func(cmd)
|
||||||
# Store function for later execution.
|
# Store function for later execution.
|
||||||
|
|
|
@ -118,6 +118,17 @@ def requires_user(command):
|
||||||
return augmented_command
|
return augmented_command
|
||||||
|
|
||||||
|
|
||||||
|
# Wrapper for aliasing commands
|
||||||
|
def alias(cmd_alias):
|
||||||
|
"""Adds an alias to the function dictionary"""
|
||||||
|
def aliaser(command):
|
||||||
|
aliases = command.__dict__.get('aliases', [])
|
||||||
|
aliases.append(cmd_alias)
|
||||||
|
command.__dict__['aliases'] = aliases
|
||||||
|
return command
|
||||||
|
return aliaser
|
||||||
|
|
||||||
|
|
||||||
# Helpers for common command tasks
|
# Helpers for common command tasks
|
||||||
|
|
||||||
CONFIG_GET_ROOT_VALUE = object()
|
CONFIG_GET_ROOT_VALUE = object()
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from amanuensis.cli.helpers import (
|
from amanuensis.cli.helpers import (
|
||||||
add_argument, no_argument,
|
add_argument, no_argument, alias,
|
||||||
config_get, config_set, CONFIG_GET_ROOT_VALUE)
|
config_get, config_set, CONFIG_GET_ROOT_VALUE)
|
||||||
|
|
||||||
|
@alias('i')
|
||||||
@add_argument(
|
@add_argument(
|
||||||
"--refresh", action="store_true",
|
"--refresh", action="store_true",
|
||||||
help="Refresh an existing config directory")
|
help="Refresh an existing config directory")
|
||||||
|
@ -31,6 +32,7 @@ def command_init(args):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
@alias('gs')
|
||||||
@no_argument
|
@no_argument
|
||||||
def command_generate_secret(args):
|
def command_generate_secret(args):
|
||||||
"""
|
"""
|
||||||
|
@ -49,6 +51,7 @@ def command_generate_secret(args):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
@alias('r')
|
||||||
@add_argument("-a", "--address", default="127.0.0.1")
|
@add_argument("-a", "--address", default="127.0.0.1")
|
||||||
@add_argument("-p", "--port", default="5000")
|
@add_argument("-p", "--port", default="5000")
|
||||||
@add_argument("--debug", action="store_true")
|
@add_argument("--debug", action="store_true")
|
||||||
|
@ -70,6 +73,7 @@ def command_run(args):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
@alias('n')
|
||||||
@add_argument("--get", metavar="PATHSPEC", dest="get",
|
@add_argument("--get", metavar="PATHSPEC", dest="get",
|
||||||
nargs="?", const=CONFIG_GET_ROOT_VALUE, help="Get the value of a config key")
|
nargs="?", const=CONFIG_GET_ROOT_VALUE, help="Get the value of a config key")
|
||||||
@add_argument("--set", metavar=("PATHSPEC", "VALUE"), dest="set",
|
@add_argument("--set", metavar=("PATHSPEC", "VALUE"), dest="set",
|
||||||
|
|
|
@ -6,10 +6,11 @@ import shutil
|
||||||
|
|
||||||
# Module imports
|
# Module imports
|
||||||
from amanuensis.cli.helpers import (
|
from amanuensis.cli.helpers import (
|
||||||
add_argument, no_argument, requires_user,
|
add_argument, no_argument, requires_user, alias,
|
||||||
config_get, config_set, CONFIG_GET_ROOT_VALUE)
|
config_get, config_set, CONFIG_GET_ROOT_VALUE)
|
||||||
|
|
||||||
|
|
||||||
|
@alias('uc')
|
||||||
@add_argument("--username", required=True, help="Name of user to create")
|
@add_argument("--username", required=True, help="Name of user to create")
|
||||||
@add_argument("--email", help="User's email")
|
@add_argument("--email", help="User's email")
|
||||||
@add_argument("--displayname", help="User's publicly displayed name")
|
@add_argument("--displayname", help="User's publicly displayed name")
|
||||||
|
@ -44,6 +45,7 @@ def command_create(args):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
@alias('ud')
|
||||||
@requires_user
|
@requires_user
|
||||||
def command_delete(args):
|
def command_delete(args):
|
||||||
"""
|
"""
|
||||||
|
@ -65,6 +67,7 @@ def command_delete(args):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
@alias('ul')
|
||||||
@no_argument
|
@no_argument
|
||||||
def command_list(args):
|
def command_list(args):
|
||||||
"""List all users"""
|
"""List all users"""
|
||||||
|
@ -88,6 +91,7 @@ def command_list(args):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
@alias('un')
|
||||||
@requires_user
|
@requires_user
|
||||||
@add_argument(
|
@add_argument(
|
||||||
"--get", metavar="PATHSPEC", dest="get",
|
"--get", metavar="PATHSPEC", dest="get",
|
||||||
|
@ -120,6 +124,7 @@ def command_config(args):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
@alias('up')
|
||||||
@requires_user
|
@requires_user
|
||||||
@add_argument("--password", help="The password to set. Used for scripting; "
|
@add_argument("--password", help="The password to set. Used for scripting; "
|
||||||
"not recommended for general use")
|
"not recommended for general use")
|
||||||
|
|
Loading…
Reference in New Issue