Coverage for docs_src/parameter_types/custom_types/tutorial001_an.py: 100%

12 statements  

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

1import typer 1habcdefg

2from typing_extensions import Annotated 1habcdefg

3 

4 

5class CustomClass: 1habcdefg

6 def __init__(self, value: str): 1habcdefg

7 self.value = value 1habcdefg

8 

9 def __str__(self): 1habcdefg

10 return f"<CustomClass: value={self.value}>" 1habcdefg

11 

12 

13def parse_custom_class(value: str): 1habcdefg

14 return CustomClass(value * 2) 1habcdefg

15 

16 

17def main( 1abcdefg

18 custom_arg: Annotated[CustomClass, typer.Argument(parser=parse_custom_class)], 

19 custom_opt: Annotated[CustomClass, typer.Option(parser=parse_custom_class)] = "Foo", 

20): 

21 print(f"custom_arg is {custom_arg}") 1habcdefg

22 print(f"--custom-opt is {custom_opt}") 1habcdefg

23 

24 

25if __name__ == "__main__": 1habcdefg

26 typer.run(main) 1habcdefg