@@ -241,6 +241,12 @@ def _handle_input(inp):
241241 if inp in ('q' , 'Q' ):
242242 raise urwid .ExitMainLoop ()
243243
244+ def output_without_ui (content ):
245+ size = shutil .get_terminal_size ()
246+ canvas = content .render (size )
247+ text = ("\n " .join (text .decode ("utf-8" ) for text in canvas .text )).rstrip ()
248+ print (text )
249+
244250def generate_content (status_code ):
245251 try :
246252 code_descriptions , num , status_code = get_yaml_dictionary (status_code )
@@ -295,6 +301,7 @@ def print_help():
295301 print ('' .join ([BOLD , "-h, --help:" , END , " prints this help" ]))
296302 print ('' .join ([BOLD , "-a,-l, --all,--list statucode" , END , " prints all codes in compact version" ]))
297303 print ('' .join ([BOLD , "-a,-l, --all,--list headers" , END , " prints all headers in compact version" ]))
304+ print ('' .join ([BOLD , "-n, --no-ui" , END , " force output without UI" ]))
298305
299306def print_all (status_code ):
300307 if status_code == "statuscode" :
@@ -325,16 +332,17 @@ def main():
325332 print_help ()
326333 else :
327334 status_code = sys .argv [1 ]
335+ without_ui = len (sys .argv ) > 2 and sys .argv [2 ].lower () in ("-n" , "--no-ui" )
328336 content = generate_content (status_code )
329337
330338 if content :
331- try :
332- App (content ) # Opens interface
333- except NameError :
334- size = shutil . get_terminal_size ()
335- canvas = content . render ( size )
336- text = ( "" . join ( text . decode ( "utf-8" ) for text in canvas . text )). rstrip ()
337- print ( text )
339+ if without_ui or not is_not_dumb :
340+ output_without_ui (content )
341+ else :
342+ try :
343+ App ( content ) # Opens interface
344+ except NameError :
345+ output_without_ui ( content )
338346 else :
339347 print ('' .join ([RED , "Sorry, statcode doesn't recognize: " , status_code , END ]))
340348
0 commit comments