33import os
44import tempfile
55
6+ HTML_TEMPLATE = """\
7+ """
8+
69log_file_path = './qutescript.log'
710
811
9- def write_log (message , file_path = None ):
10- print ('***' , message )
12+ def write_log (message , file_path = None , console = False ):
13+ if console :
14+ print ('***' , message )
1115 file_path = file_path or log_file_path
1216 file_path = os .path .abspath (os .path .expanduser (file_path ))
13- record = ['***' + message , '\n ' , '\n ' ]
1417 with open (file_path , 'a' ) as logfile :
15- logfile .writelines ( record )
18+ logfile .write ( '*** {} \n \n ' . format ( message ) )
1619
1720
1821def normalize_prefix (prefix ):
@@ -23,21 +26,24 @@ def normalize_prefix(prefix):
2326 return prefix
2427
2528
26- def log_to_browser (* messages , prefix : str = None ):
29+ def log_to_browser (* messages , prefix : str = None , console = True ):
2730 """
2831 Write messages to logs and a temporary file,
2932 Attempt to open the file through FIFO in the browser.
3033 """
31- [write_log (msg ) for msg in messages ]
34+ [write_log (msg , console = console ) for msg in messages ]
35+ send_to_browser ('\n ' .join (messages ), prefix = prefix )
36+
37+
38+ def send_to_browser (text , prefix : str = None ):
3239 fifo = os .getenv ('QUTE_FIFO' )
3340 if not fifo :
3441 return
35- out_lines = [ '<html><body><pre>' ] + [ '<p>{}</p>' . format ( m or ' ' ) for m in messages ]
42+
3643 prefix = normalize_prefix (prefix )
3744 prefix = 'qutescript_{}' .format ((prefix or '' ))
38- with tempfile .NamedTemporaryFile (mode = 'w' , prefix = prefix , suffix = '.html' , delete = False ) as trace_file :
39- trace_file .writelines (out_lines )
40- print ('***' , trace_file .name )
45+ with tempfile .NamedTemporaryFile (mode = 'w' , prefix = prefix , suffix = '.html' , delete = False ) as out_file :
46+ out_file .writelines (HTML_TEMPLATE .format (text ))
4147 with open (fifo , 'w' ) as fifo_file :
4248 fifo_file .write ('open -t file://{}' .format (
43- os .path .abspath (trace_file .name )))
49+ os .path .abspath (out_file .name )))
0 commit comments