1818from patchwork .managed_files import HOME_FOLDER , LOG_FILE
1919
2020# Create a global console object
21- console = Console ()
21+ console = Console (force_terminal = True , no_color = False )
2222
2323# Add TRACE level to logging
2424logging .TRACE = logging .DEBUG - 1
@@ -39,10 +39,11 @@ def evict_null_handler():
3939
4040
4141class TerminalHandler (RichHandler ):
42- def __init__ (self , log_level : str ):
42+ def __init__ (self , log_level : str , plain : bool ):
43+ self .plain = plain
4344 super ().__init__ (
4445 console = console ,
45- rich_tracebacks = True ,
46+ rich_tracebacks = not plain ,
4647 tracebacks_suppress = [click ],
4748 show_time = False ,
4849 show_path = False ,
@@ -95,22 +96,25 @@ def deregister_progress_bar(self):
9596 @contextlib .contextmanager
9697 def panel (self , title : str ):
9798 global console
98- self .__panel_lines = []
99- self .__panel_title = title
100- self .__panel = Panel ("" , title = title )
101- renderables = [self .__panel ]
102- if self .__progress_bar is not None :
103- renderables .append (self .__progress_bar )
104-
105- self .__live = Live (Group (* renderables ), console = console , vertical_overflow = "visible" )
106- try :
107- self .__live .start ()
99+ if self .plain :
108100 yield
109- except Exception as e :
110- raise e
111- finally :
112- self .__reset_live ()
113- self .console .print ("\n " )
101+ else :
102+ self .__panel_lines = []
103+ self .__panel_title = title
104+ self .__panel = Panel ("" , title = title )
105+ renderables = [self .__panel ]
106+ if self .__progress_bar is not None :
107+ renderables .append (self .__progress_bar )
108+
109+ self .__live = Live (Group (* renderables ), console = console , vertical_overflow = "visible" )
110+ try :
111+ self .__live .start ()
112+ yield
113+ except Exception as e :
114+ raise e
115+ finally :
116+ self .__reset_live ()
117+ self .console .print ("\n " )
114118
115119 def emit (self , record : logging .LogRecord ) -> None :
116120 markup = getattr (record , "markup" , None )
@@ -126,7 +130,8 @@ def emit(self, record: logging.LogRecord) -> None:
126130 if self .__panel is not None :
127131 self .__emit_panel (record )
128132 else :
129- setattr (record , "markup" , True )
133+ if not self .plain :
134+ setattr (record , "markup" , True )
130135 super ().emit (record )
131136
132137 def __emit_panel (self , record : logging .LogRecord ) -> None :
@@ -143,7 +148,7 @@ def inner(record: logging.LogRecord) -> bool:
143148 return inner
144149
145150
146- def init_cli_logger (log_level : str ) -> logging .Logger :
151+ def init_cli_logger (log_level : str , plain : bool ) -> logging .Logger :
147152 global logger
148153
149154 evict_null_handler ()
@@ -158,7 +163,7 @@ def init_cli_logger(log_level: str) -> logging.Logger:
158163 except FileNotFoundError :
159164 logger .error (f"Unable to create log file: { LOG_FILE } " )
160165
161- th = TerminalHandler (log_level .upper ())
166+ th = TerminalHandler (log_level .upper (), plain )
162167 logger .addHandler (th )
163168 setattr (logger , "panel" , th .panel )
164169 setattr (logger , "register_progress_bar" , th .register_progress_bar )
0 commit comments