Skip to content

Commit

Permalink
add shorthand help (-h) to CLI
Browse files Browse the repository at this point in the history
  • Loading branch information
trippy22 committed Oct 15, 2021
1 parent 29076c5 commit c6c4c6b
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions bak/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ def on_call(*args, **kwargs):
BASIC_HELP_TEXT = "bak FILENAME (creates a bakfile)\n\nalias: bak create\n\n" +\
"See also: bak COMMAND --help"

CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])


@click.group(cls=DefaultGroup, default='\0', no_args_is_help=True, help=BASIC_HELP_TEXT,
invoke_without_command=True)
Expand All @@ -53,6 +55,7 @@ def bak(version:bool=False):
@normalize_path()
@click.option("--version", required=False, is_flag=True, help="Print current version and exit.")
@click.argument("filename", required=False, type=click.Path(exists=True))
@click.command(context_settings=CONTEXT_SETTINGS)
def _create(filename, version):
create_bak_cmd(filename, version)

Expand All @@ -61,6 +64,7 @@ def _create(filename, version):
@normalize_path()
@click.option("--version", required=False, is_flag=True)
@click.argument("filename", required=False, type=click.Path(exists=True))
@click.command(context_settings=CONTEXT_SETTINGS)
def create(filename, version):
create_bak_cmd(filename, version)

Expand All @@ -80,6 +84,7 @@ def create_bak_cmd(filename, version):
@normalize_path()
@click.argument("filename", required=True, type=click.Path(exists=True))
@click.argument("bakfile_number", metavar="[#]", required=False, type=int)
@click.command(context_settings=CONTEXT_SETTINGS)
def bak_up(filename, bakfile_number):
if not filename:
click.echo("A filename or operation is required.\n"
Expand All @@ -105,6 +110,7 @@ def bak_up(filename, bakfile_number):
@click.option('-d', '-o', '--destination', default=None, type=str)
@click.argument("filename", required=True)
@click.argument("bakfile_number", metavar="[#]", required=False, type=int)
@click.command(context_settings=CONTEXT_SETTINGS)
def bak_down(filename: str, keep: bool, quietly: bool, destination: str, bakfile_number: int=0):
if not filename:
click.echo("A filename or operation is required.\n"
Expand All @@ -128,6 +134,7 @@ def bak_down(filename: str, keep: bool, quietly: bool, destination: str, bakfile
default=False,
help="Delete all related .bakfiles without confirming")
@click.argument("filename", required=True)
@click.command(context_settings=CONTEXT_SETTINGS)
def bak_off(filename, quietly):
filename = Path(filename).expanduser().resolve()
if not commands.bak_off_cmd(filename, quietly):
Expand All @@ -142,6 +149,7 @@ def bak_off(filename, quietly):
help="Delete .bakfile without confirming")
@click.argument("filename", required=True, type=click.Path(exists=False))
@click.argument("number", metavar="#", required=False, type=int)
@click.command(context_settings=CONTEXT_SETTINGS)
def bak_del(filename, number, quietly):
filename = Path(filename).expanduser().resolve()
if not commands.bak_del_cmd(filename, number, quietly):
Expand All @@ -156,6 +164,7 @@ def bak_del(filename, number, quietly):
help="Delete .bakfile without confirming")
@click.argument("filename", required=True, type=click.Path(exists=False))
@click.argument("number", metavar="#", required=False, type=int)
@click.command(context_settings=CONTEXT_SETTINGS)
def _bak_rm(filename, number, quietly):
bak_del(filename, number, quietly)

Expand All @@ -166,6 +175,7 @@ def _bak_rm(filename, number, quietly):
@normalize_path()
@click.argument("filename", required=True, type=click.Path(exists=True))
@click.argument("bakfile_number", metavar="[#]", required=False, type=int)
@click.command(context_settings=CONTEXT_SETTINGS)
def bak_print(filename, using, bakfile_number):
filename = Path(filename).expanduser().resolve()
commands.bak_print_cmd(filename, using, bakfile_number)
Expand All @@ -180,6 +190,7 @@ def bak_print(filename, using, bakfile_number):
type=click.Path())
@click.argument("bakfile_number", metavar="[#]", required=False, type=int)
@normalize_path()
@click.command(context_settings=CONTEXT_SETTINGS)
def bak_get(filename, bakfile_number=0):
to_where_you_once_belonged = Path(
filename).expanduser().resolve()
Expand All @@ -194,6 +205,7 @@ def bak_get(filename, bakfile_number=0):
@normalize_path()
@click.argument("filename", required=True, type=click.Path(exists=True))
@click.argument("bakfile_number", metavar="[#]", required=False, type=int)
@click.command(context_settings=CONTEXT_SETTINGS)
def bak_diff(filename, using, bakfile_number=0):
filename = Path(filename).expanduser().resolve()
commands.bak_diff_cmd(filename, command=using, bakfile_number=bakfile_number or 0)
Expand All @@ -219,6 +231,7 @@ def bak_diff(filename, using, bakfile_number=0):
required=False,
type=click.Path(exists=True))
@normalize_path()
@click.command(context_settings=CONTEXT_SETTINGS)
def bak_list(colors, relpaths, compare, filename):
if filename:
filename = Path(filename).expanduser().resolve()
Expand All @@ -239,5 +252,6 @@ def bak_list(colors, relpaths, compare, filename):
@click.option("--get/--set", default=True)
@click.argument("setting", required=True)
@click.argument("value", required=False, nargs=-1, type=str)
@click.command(context_settings=CONTEXT_SETTINGS)
def bak_config(get, setting, value):
commands.bak_config_command(get, setting, value)

0 comments on commit c6c4c6b

Please sign in to comment.