@@ -43,40 +43,41 @@ def cli(
43
43
44
44
def _print_parser_error (e : GeneratorError , color : str ) -> None :
45
45
typer .secho (e .header , bold = True , fg = color , err = True )
46
+ typer .echo ()
46
47
if e .detail :
47
48
typer .secho (e .detail , fg = color , err = True )
49
+ typer .echo ()
48
50
49
51
if isinstance (e , ParseError ) and e .data is not None :
50
52
formatted_data = pformat (e .data )
51
53
typer .secho (formatted_data , fg = color , err = True )
52
54
53
- typer .secho ()
55
+ typer .echo ()
54
56
55
57
56
58
def handle_errors (errors : Sequence [GeneratorError ]) -> None :
57
59
""" Turn custom errors into formatted error messages """
58
60
if len (errors ) == 0 :
59
61
return
62
+ error_level = ErrorLevel .WARNING
63
+ message = "Warning(s) encountered while generating. Client was generated, but some pieces may be missing"
64
+ header_color = typer .colors .BRIGHT_YELLOW
60
65
color = typer .colors .YELLOW
61
66
for error in errors :
62
67
if error .level == ErrorLevel .ERROR :
63
- typer .secho (
64
- "Error(s) encountered while generating, client was not created" ,
65
- underline = True ,
66
- bold = True ,
67
- fg = typer .colors .BRIGHT_RED ,
68
- err = True ,
69
- )
68
+ error_level = ErrorLevel .ERROR
69
+ message = "Error(s) encountered while generating, client was not created"
70
70
color = typer .colors .RED
71
+ header_color = typer .colors .BRIGHT_RED
71
72
break
72
- else :
73
- typer . secho (
74
- "Warning(s) encountered while generating. Client was generated, but some pieces may be missing" ,
75
- underline = True ,
76
- bold = True ,
77
- fg = typer . colors . BRIGHT_YELLOW ,
78
- err = True ,
79
- )
73
+ typer . secho (
74
+ message ,
75
+ underline = True ,
76
+ bold = True ,
77
+ fg = header_color ,
78
+ err = True ,
79
+ )
80
+ typer . echo ( )
80
81
81
82
for err in errors :
82
83
_print_parser_error (err , color )
@@ -90,7 +91,9 @@ def handle_errors(errors: Sequence[GeneratorError]) -> None:
90
91
fg = typer .colors .BLUE ,
91
92
err = True ,
92
93
)
93
- raise typer .Exit (code = 1 )
94
+
95
+ if error_level == ErrorLevel .ERROR :
96
+ raise typer .Exit (code = 1 )
94
97
95
98
96
99
@app .command ()
0 commit comments