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

1import click 

2 

3 

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. 

10 

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 

18 

19 from .simple import reverse 

20 

21 result = reverse(input_str) 

22 if capitalize: 

23 result = result.upper() 

24 

25 click.echo(f"{input_str} --reverse{'+capitalize' if capitalize else ''}-> {result}")