Coverage for tests/typer_test.py: 0%

18 statements  

« prev     ^ index     » next       coverage.py v7.3.4, created at 2024-01-20 17:58 +0000

1#!/usr/bin/env python 

2import typer 

3 

4app = typer.Typer(name="test") 

5state = {"verbose": False} 

6 

7 

8@app.command() 

9def create(username: str, flag: bool = False): 

10 if state["verbose"]: 

11 print("About to create a user") 

12 print(f"Creating user: {username}") 

13 if state["verbose"]: 

14 print("Just created a user") 

15 print(f"flag: {flag}") 

16 

17 

18# @app.command(epilog="Delete Epilog") 

19# def delete(username: str): 

20# if state["verbose"]: 

21# print("About to delete a user") 

22# print(f"Deleting user: {username}") 

23# if state["verbose"]: 

24# print("Just deleted a user") 

25 

26 

27@app.callback(epilog="Main Epilog") 

28def main(arg: int, verbose: bool = False): 

29 """ 

30 Manage users in the awesome CLI app. 

31 """ 

32 if verbose: 

33 print("Will write verbose output") 

34 state["verbose"] = True 

35 

36 

37# app.command(name="common")(_common_options) 

38 

39 

40# @app.command(cls=TyperCommandWrapper) 

41# def wrapped(name: str): 

42# """This is a wrapped command""" 

43# print("wrapped(%s)" % name) 

44 

45 

46if __name__ == "__main__": 

47 app()