diff --git a/src/qutescript/decorator.py b/src/qutescript/decorator.py index fd32fd6..af07c80 100644 --- a/src/qutescript/decorator.py +++ b/src/qutescript/decorator.py @@ -4,7 +4,7 @@ import sys import traceback import os -from qutescript.utils import send_messages_to_browser +from qutescript.utils import log_to_browser from .cli import main_cli, userscript_cli from .request import build_request @@ -16,12 +16,12 @@ def userscript(func): try: main_cli() except Exception as e: - send_messages_to_browser(traceback.format_exc(), 'Cannot execute cli handler', script_name=userscript_name) + log_to_browser(traceback.format_exc(), 'Cannot execute cli handler', prefix=userscript_name) sys.exit(1) try: request = build_request() except Exception as e: - send_messages_to_browser(traceback.format_exc(), 'Cannot build request.', script_name=userscript_name) + log_to_browser(traceback.format_exc(), 'Cannot build request.', prefix=userscript_name) sys.exit(5) try: func_ = userscript_cli(func) @@ -29,21 +29,21 @@ def userscript(func): if not command: return except Exception as e: - send_messages_to_browser(traceback.format_exc(), 'Userscript error.', script_name=userscript_name) + log_to_browser(traceback.format_exc(), 'Userscript error.', prefix=userscript_name) sys.exit(10) if not request.fifo: message = ('ERROR: userscript returned command: {}, ' 'but QUTE_FIFO was not found in passed environment.\n' 'Try: :spawn --userscript /path/to/script ?') - send_messages_to_browser(traceback.format_exc(), message, script_name=userscript_name) + log_to_browser(traceback.format_exc(), message, prefix=userscript_name) sys.exit(20) try: with open(request.fifo, 'w') as fifo: fifo.write('{}\n'.format(command)) except Exception as e: - send_messages_to_browser( + log_to_browser( traceback.format_exc(), - 'Cannot write to FIFO: {!r}'.format(request.fifo), script_name=userscript_name) + 'Cannot write to FIFO: {!r}'.format(request.fifo), prefix=userscript_name) sys.exit(30) return wrapper diff --git a/src/qutescript/utils.py b/src/qutescript/utils.py index d3a301f..fdb0886 100644 --- a/src/qutescript/utils.py +++ b/src/qutescript/utils.py @@ -15,15 +15,15 @@ def write_log(message, file_path=None): logfile.writelines(record) -def cleanup_script_name(script_name): - if script_name: - script_name = script_name.replace('.', '_') - if not script_name.endswith('_'): - script_name = script_name + '_' - return script_name +def normalize_prefix(prefix): + if prefix: + prefix = prefix.replace('.', '_') + if not prefix.endswith('_'): + prefix = prefix + '_' + return prefix -def send_messages_to_browser(*messages, script_name: str = None): +def log_to_browser(*messages, prefix: str = None): """ Write messages to logs and a temporary file, Attempt to open the file through FIFO in the browser. @@ -33,8 +33,8 @@ def send_messages_to_browser(*messages, script_name: str = None): if not fifo: return out_lines = ['
'] + ['

{}

'.format(m or ' ') for m in messages] - script_name = cleanup_script_name(script_name) - prefix = 'qutescript_{}'.format((script_name or '')) + prefix = normalize_prefix(prefix) + prefix = 'qutescript_{}'.format((prefix or '')) with tempfile.NamedTemporaryFile(mode='w', prefix=prefix, suffix='.html', delete=False) as trace_file: trace_file.writelines(out_lines) print('***', trace_file.name)