From 45a5adb9e393a140dfc2fb465d683648322842a6 Mon Sep 17 00:00:00 2001 From: pjenvey Date: Mon, 31 Jul 2006 02:46:11 +0000 Subject: only displaying EvalException's full traceback button when the full traceback differs from the regular (includes hidden frames) --- paste/evalexception/middleware.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'paste/evalexception') diff --git a/paste/evalexception/middleware.py b/paste/evalexception/middleware.py index 4fedbe0..26850dd 100644 --- a/paste/evalexception/middleware.py +++ b/paste/evalexception/middleware.py @@ -485,19 +485,24 @@ def make_table(items): '\n'.join(rows)) def format_eval_html(exc_data, base_path, counter): - short_er = EvalHTMLFormatter( + short_formatter = EvalHTMLFormatter( base_path=base_path, counter=counter, - include_reusable=False).format_collected_data(exc_data) - long_er = EvalHTMLFormatter( + include_reusable=False) + short_er = short_formatter.format_collected_data(exc_data) + long_formatter = EvalHTMLFormatter( base_path=base_path, counter=counter, show_hidden_frames=True, show_extra_data=False, - include_reusable=False).format_collected_data(exc_data) + include_reusable=False) + long_er = long_formatter.format_collected_data(exc_data) text_er = formatter.format_text(exc_data, show_hidden_frames=True) - return """ - %s + if short_formatter.filter_frames(exc_data.frames) != \ + long_formatter.filter_frames(exc_data.frames): + # Only display the full traceback when it differs from the + # short version + full_traceback_html = """