Simplify.

master
Harshad Sharma 7 years ago
parent 77b94d21b2
commit 7072b4077d

@ -4,7 +4,7 @@ import sys
import traceback import traceback
import os 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 .cli import main_cli, userscript_cli
from .request import build_request from .request import build_request
@ -16,12 +16,12 @@ def userscript(func):
try: try:
main_cli() main_cli()
except Exception as e: 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) sys.exit(1)
try: try:
request = build_request() request = build_request()
except Exception as e: 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) sys.exit(5)
try: try:
func_ = userscript_cli(func) func_ = userscript_cli(func)
@ -29,21 +29,21 @@ def userscript(func):
if not command: if not command:
return return
except Exception as e: 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) sys.exit(10)
if not request.fifo: if not request.fifo:
message = ('ERROR: userscript returned command: {}, ' message = ('ERROR: userscript returned command: {}, '
'but QUTE_FIFO was not found in passed environment.\n' 'but QUTE_FIFO was not found in passed environment.\n'
'Try: :spawn --userscript /path/to/script ?') '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) sys.exit(20)
try: try:
with open(request.fifo, 'w') as fifo: with open(request.fifo, 'w') as fifo:
fifo.write('{}\n'.format(command)) fifo.write('{}\n'.format(command))
except Exception as e: except Exception as e:
send_messages_to_browser( log_to_browser(
traceback.format_exc(), 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) sys.exit(30)
return wrapper return wrapper

@ -15,15 +15,15 @@ def write_log(message, file_path=None):
logfile.writelines(record) logfile.writelines(record)
def cleanup_script_name(script_name): def normalize_prefix(prefix):
if script_name: if prefix:
script_name = script_name.replace('.', '_') prefix = prefix.replace('.', '_')
if not script_name.endswith('_'): if not prefix.endswith('_'):
script_name = script_name + '_' prefix = prefix + '_'
return script_name 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, Write messages to logs and a temporary file,
Attempt to open the file through FIFO in the browser. 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: if not fifo:
return return
out_lines = ['<html><body><pre>'] + ['<p>{}</p>'.format(m or '&nbsp;') for m in messages] out_lines = ['<html><body><pre>'] + ['<p>{}</p>'.format(m or '&nbsp;') for m in messages]
script_name = cleanup_script_name(script_name) prefix = normalize_prefix(prefix)
prefix = 'qutescript_{}'.format((script_name or '')) prefix = 'qutescript_{}'.format((prefix or ''))
with tempfile.NamedTemporaryFile(mode='w', prefix=prefix, suffix='.html', delete=False) as trace_file: with tempfile.NamedTemporaryFile(mode='w', prefix=prefix, suffix='.html', delete=False) as trace_file:
trace_file.writelines(out_lines) trace_file.writelines(out_lines)
print('***', trace_file.name) print('***', trace_file.name)

Loading…
Cancel
Save