diff --git a/flask_debugtoolbar/__init__.py b/flask_debugtoolbar/__init__.py index 4656ddf..ed4f484 100644 --- a/flask_debugtoolbar/__init__.py +++ b/flask_debugtoolbar/__init__.py @@ -25,6 +25,13 @@ def replace_insensitive(string, target, replacement): return string +def _printable(string): + if isinstance(string, unicode): + return string.encode('unicode_escape') + else: + return string.encode('string_escape') + + class DebugToolbarExtension(object): _static_dir = os.path.realpath( os.path.join(os.path.dirname(__file__), 'static')) @@ -61,6 +68,7 @@ class DebugToolbarExtension(object): extensions=['jinja2.ext.i18n'], loader=PackageLoader(__name__, 'templates')) self.jinja_env.filters['urlencode'] = url_quote_plus + self.jinja_env.filters['printable'] = _printable app.add_url_rule('/_debug_toolbar/static/', '_debug_toolbar.static', self.send_static_file) diff --git a/flask_debugtoolbar/templates/panels/request_vars.html b/flask_debugtoolbar/templates/panels/request_vars.html index 571a098..b0cc0ef 100644 --- a/flask_debugtoolbar/templates/panels/request_vars.html +++ b/flask_debugtoolbar/templates/panels/request_vars.html @@ -1,123 +1,104 @@

View information

- - - - - - - - - - - - - - + + + + + + + + + + + + + +
View Functionargskwargs
{{ view_func }}{{ view_args|default("None") }} - {% if view_kwargs.items() %} - {% for k, v in view_kwargs.items() %} - {{ k }}={{ v }}{% if not loop.last %}, {% endif %} - {% endfor %} - {% else %} - None - {% endif %} -
View Functionargskwargs
{{ view_func }}{{ view_args|default("None") }} + {% if view_kwargs.items() %} + {% for k, v in view_kwargs.items() %} + {{ k }}={{ v }}{% if not loop.last %}, {% endif %} + {% endfor %} + {% else %} + None + {% endif %} +
+{% macro show_map(map) %} + + + + + + + + + + + + + {% for key, value in map %} + + + + + {% endfor %} + +
VariableValue
{{ key|printable }}{{ value|printable }}
+{% endmacro %} + +

COOKIES Variables

{% if cookies %} - - - - - - - - - - - - - {% for key, value in cookies %} - - - - - {% endfor %} - -
VariableValue
{{ key|escape }}{{ value|escape }}
+ {{ show_map(cookies) }} {% else %} -

No COOKIE data

+

No COOKIE data

{% endif %}

SESSION Variables

{% if session %} - - - - - - - - - - - - - {% for key, value in session %} - - - - - {% endfor %} - -
VariableValue
{{ key|escape }}{{ value|escape }}
+ {{ show_map(session) }} {% else %} -

No SESSION data

+

No SESSION data

{% endif %} + +{% macro show_multi_map(map) %} + + + + + + + + + {% for key, value in map %} + + + + + {% endfor %} + +
VariableValue
{{ key|printable }} + {%- set sep = joiner() -%} + {%- for v in value -%} + {{ sep() }}{{ v|printable }} + {%- endfor -%} +
+{% endmacro %} + +

GET Variables

{% if get %} - - - - - - - - - {% for key, value in get %} - - - - - {% endfor %} - -
VariableValue
{{ key|escape }}{{ value|join(", ")|escape }}
+ {{ show_multi_map(get) }} {% else %} -

No GET data

+

No GET data

{% endif %}

POST Variables

{% if post %} - - - - - - - - - {% for key, value in post %} - - - - - {% endfor %} - -
VariableValue
{{ key|escape }}{{ value|join(", ")|escape }}
+ {{ show_multi_map(post) }} {% else %} -

No POST data

+

No POST data

{% endif %} -