diff --git a/puppetboard/app.py b/puppetboard/app.py index dbbe05d..583e826 100644 --- a/puppetboard/app.py +++ b/puppetboard/app.py @@ -21,7 +21,7 @@ from pypuppetdb import connect from puppetboard.forms import (CatalogForm, QueryForm) from puppetboard.utils import ( get_or_abort, yield_or_stop, - jsonprint, Pagination + jsonprint, prettyprint, Pagination ) @@ -34,6 +34,7 @@ graph_facts += app.config['GRAPH_FACTS'] app.secret_key = app.config['SECRET_KEY'] app.jinja_env.filters['jsonprint'] = jsonprint +app.jinja_env.filters['prettyprint'] = prettyprint puppetdb = connect( host=app.config['PUPPETDB_HOST'], diff --git a/puppetboard/forms.py b/puppetboard/forms.py index 87e378e..3d80162 100644 --- a/puppetboard/forms.py +++ b/puppetboard/forms.py @@ -4,7 +4,7 @@ from __future__ import absolute_import from flask.ext.wtf import Form from wtforms import ( HiddenField, RadioField, SelectField, - TextAreaField, validators + TextAreaField, BooleanField, validators ) @@ -26,6 +26,7 @@ class QueryForm(Form): ('edges', 'Edges'), ('environments', 'Environments'), ]) + rawjson = BooleanField('Raw JSON') class CatalogForm(Form): """The form used to compare the catalogs of different nodes.""" diff --git a/puppetboard/templates/query.html b/puppetboard/templates/query.html index 12d8087..6071291 100644 --- a/puppetboard/templates/query.html +++ b/puppetboard/templates/query.html @@ -26,6 +26,11 @@ {% endfor %} +
{{ result|jsonprint }}
+ {% else %}
+ {% autoescape false %}
+ {{ result|prettyprint}}
+ {% endautoescape %}
+ {% endif %}
| "+k+" | " + + for e in value: + html += "
|---|
| "+formatvalue(e[k])+" | " + html += "