Coverage for src/sample_project/cli.py: 100%
14 statements
« prev ^ index » next coverage.py v7.4.0, created at 2024-01-16 16:07 +0000
« prev ^ index » next coverage.py v7.4.0, created at 2024-01-16 16:07 +0000
1import click
4@click.group(invoke_without_command=True)
5@click.version_option(message="%(version)s", package_name="sample-project")
6@click.argument("input_str", required=False)
7@click.option("--capitalize", is_flag=True, required=False, help="Capitalize string")
8def main(input_str: str | None = None, capitalize: bool = False):
9 """Entry point for the application script.
11 Args:
12 input_str: string to reverse
13 capitalize: if true, capitalize letters of input_str
14 """
15 if input_str is None:
16 click.echo("Hello, Sample Project!")
17 return
19 from .simple import reverse
21 result = reverse(input_str)
22 if capitalize:
23 result = result.upper()
25 click.echo(f"{input_str} --reverse{'+capitalize' if capitalize else ''}-> {result}")