summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaksham115 <saksham.agrawal@research.iiit.ac.in>2017-08-02 17:47:53 +0530
committerSaksham Agrawal <saksham.agrawal@research.iiit.ac.in>2017-08-14 02:31:52 +0000
commitdbb0a468ce846ddeed6af9ca4a41cb0c762786b4 (patch)
tree5e841d9eb829d1a922ed020f4d4ff8e276d4f5cd
parent37e7b924e4e994b6e5bf14e755746e435dbec3ec (diff)
Validation if no json object is found at the given URL
JIRA: STORPERF-194 Change-Id: I65569b5fa9e927d11afe27d3f3117852d2eb682d Signed-off-by: saksham115 <saksham.agrawal@research.iiit.ac.in>
-rw-r--r--docker/storperf-reporting/src/app.py19
-rw-r--r--docker/storperf-reporting/src/templates/index.html7
2 files changed, 22 insertions, 4 deletions
diff --git a/docker/storperf-reporting/src/app.py b/docker/storperf-reporting/src/app.py
index c77f60f..62d4d33 100644
--- a/docker/storperf-reporting/src/app.py
+++ b/docker/storperf-reporting/src/app.py
@@ -8,7 +8,7 @@
##############################################################################
from flask import Flask, redirect, url_for, request, render_template, session
-from flask import send_from_directory
+from flask import send_from_directory, flash
import urllib
import json
app = Flask(__name__)
@@ -17,9 +17,13 @@ app.secret_key = 'storperf_graphing_module'
@app.route('/reporting/success/')
def success():
- data = urllib.urlopen(session["url"]).read()
- data = json.loads(data)
- return render_template('plot_tables.html', data=data)
+ try:
+ data = urllib.urlopen(session["url"]).read()
+ data = json.loads(data)
+ return render_template('plot_tables.html', data=data)
+ except Exception as e:
+ session['server_error'] = e.message + ' ' + repr(e.args)
+ return redirect(url_for('file_not_found'))
@app.route('/reporting/url', methods=['POST', 'GET'])
@@ -30,6 +34,13 @@ def url():
return redirect(url_for('success'))
+@app.route('/reporting/file_not_found/')
+def file_not_found():
+ error = session.get('server_error')
+ flash("Server Error: " + error)
+ return redirect(url_for('index'))
+
+
@app.route('/reporting/js/<path:path>')
def js(path):
return send_from_directory('static/js/', path)
diff --git a/docker/storperf-reporting/src/templates/index.html b/docker/storperf-reporting/src/templates/index.html
index 35cea1a..ab4e539 100644
--- a/docker/storperf-reporting/src/templates/index.html
+++ b/docker/storperf-reporting/src/templates/index.html
@@ -26,6 +26,13 @@
</div>
</form>
</div>
+ {% with messages = get_flashed_messages() %} {% if messages %} {% for message in messages %}
+ <div class="alert alert-danger alert-dismissible" role="alert">
+ <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span>
+ </button>
+ {{ message }}
+ </div>
+ {% endfor %} {% endif %} {% endwith %}
</div>
</div>
</body>