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

13 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-12-19 20:29 +0000

1from typing import Optional 1abcdefghi

2 

3import typer 1abcdefghi

4 

5app = typer.Typer() 1abcdefghi

6 

7 

8def name_callback(ctx: typer.Context, param: typer.CallbackParam, value: str): 1abcdefghi

9 if ctx.resilient_parsing: 1abcdefghi

10 return 1abcdefghi

11 print(f"Validating param: {param.name}") 1abcdefghi

12 if value != "Camila": 1abcdefghi

13 raise typer.BadParameter("Only Camila is allowed") 1abcdefghi

14 return value 1abcdefghi

15 

16 

17@app.command() 1abcdefghi

18def main(name: Optional[str] = typer.Option(default=None, callback=name_callback)): 1abcdefghi

19 print(f"Hello {name}") 1abcdefghi

20 

21 

22if __name__ == "__main__": 1abcdefghi

23 app() 1abcdefghi