Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add shorthand help (-h) to CLI #88

Open
wants to merge 1 commit into
base: unstable
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions bak/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ def on_call(*args, **kwargs):
"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)
# default command behavior is duplicated here because it's cleaner from a Click perspective,
Expand All @@ -53,6 +56,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 +65,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 +85,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 +111,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 +135,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 +150,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 +165,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 +176,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 +191,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 +206,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 +232,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 +253,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)