Coverage for docs_src/options/callback/tutorial003_an.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-09-09 18:26 +0000

1from typing import Optional 1abcdefgh

2 

3import typer 1abcdefgh

4from typing_extensions import Annotated 1abcdefgh

5 

6 

7def name_callback(ctx: typer.Context, value: str): 1abcdefgh

8 if ctx.resilient_parsing: 1abcdefgh

9 return 1abcdefgh

10 print("Validating name") 1abcdefgh

11 if value != "Camila": 1abcdefgh

12 raise typer.BadParameter("Only Camila is allowed") 1abcdefgh

13 return value 1abcdefgh

14 

15 

16def main(name: Annotated[Optional[str], typer.Option(callback=name_callback)] = None): 1abcdefgh

17 print(f"Hello {name}") 1abcdefgh

18 

19 

20if __name__ == "__main__": 1abcdefgh

21 typer.run(main) 1abcdefgh