Add pretty print to options rendering

This commit is contained in:
Benoît Seignovert 2024-02-14 15:19:31 +01:00
parent 397b54cdbe
commit 867e217d44
Signed by: Benoît Seignovert
GPG key ID: F5D8895227D18A0B
2 changed files with 19 additions and 13 deletions

View file

@ -3,21 +3,27 @@
Usage: `python -m render` Usage: `python -m render`
""" """
from pathlib import Path
from traceback import format_exc from traceback import format_exc
import glicid_spawner
from flask import Flask, render_template, request from flask import Flask, render_template, request
from glicid_spawner.form import options_attrs, options_form, options_from_form from glicid_spawner.form import TEMPLATE_FORM, options_from_form
from glicid_spawner.micromamba import MicromambaEnv
from glicid_spawner.resources import CPU, GPU, RAM
from livereload import Server from livereload import Server
# Monkeypatch # Monkeypatch
USERNAME = 'john-doe' OPTIONS = {
glicid_spawner.micromamba.MICROMAMBA_ROOT = ( 'username': 'john-doe',
Path(__file__).parent / '..' / 'tests' / 'data' / 'micromamba' 'python_envs': [
).resolve() MicromambaEnv('USER', 'foo', '/john-doe/envs/foo'),
glicid_spawner.micromamba.GLOBAL_USER = 'global' MicromambaEnv('USER', 'bar', '/john-doe/envs/bar'),
glicid_spawner.micromamba.GLOBAL_EXCLUDED = 'qux' MicromambaEnv('GLOBAL', 'baz', '/global/envs/baz'),
],
'cpu_available': CPU,
'ram_available': RAM,
'gpu_available': GPU,
}
# Flask app # Flask app
app = Flask(__name__) app = Flask(__name__)
@ -28,7 +34,7 @@ app.debug = True
def home(): def home():
"""Form spawner home page.""" """Form spawner home page."""
return render_template( return render_template(
'form.html', spawner_options_form=options_form(USERNAME), options=options_attrs(USERNAME) 'form.html', spawner_options_form=TEMPLATE_FORM.render(**OPTIONS), options=OPTIONS
) )

View file

@ -1,14 +1,14 @@
<div class="row col-sm-offset-2 col-sm-8"> <div class="row col-sm-offset-2 col-sm-8">
<h3>📝 Submitted form data</h3> <h3>📝 Submitted form data</h3>
<pre><code>{{formdata}}</code></pre> <pre><code>{{formdata|pprint}}</code></pre>
</div> </div>
<div class="row col-sm-offset-2 col-sm-8 text-success"> <div class="row col-sm-offset-2 col-sm-8 text-success">
{% if options %} {% if options %}
<h3>✅ Parsed spawner options</h3> <h3>✅ Parsed spawner options</h3>
<pre><code>{{options}}</code></pre> <pre><code>{{options|pprint}}</code></pre>
{% else %} {% else %}
<h3>⛔️ Spawner options error</h3> <h3>⛔️ Spawner options error</h3>
<pre><code>{{err}}</code></pre> <pre><code>{{err|pprint}}</code></pre>
{% endif %} {% endif %}
</div> </div>