from flask import Flask, redirect, url_for, request, render_template, session
 from flask import send_from_directory, flash
 import urllib
+import validators
 import json
 app = Flask(__name__)
 app.secret_key = 'storperf_graphing_module'
 
 
+def get_data(data):
+    metrics = {}
+    report_data = {}
+    temp = data.keys()[0]
+    if type(data[temp]) is list:
+        details = data[temp][0].get('details')
+        metrics = details.get('metrics')
+        report_data = details.get('report_data')
+    else:
+        metrics = data[temp].get('metrics')
+        report_data = data[temp].get('report_data')
+    return metrics, report_data
+
+
 @app.route('/reporting/success/')
 def success():
     try:
-        data = urllib.urlopen(session["url"]).read()
+        URL = session["url"]
+        if validators.url(URL):
+            data = urllib.urlopen(URL).read()
+        else:
+            data = open("./static/testdata/" + URL).read()
         data = json.loads(data)
-        return render_template('plot_tables.html', data=data)
+        metrics, report_data = get_data(data)
+        return render_template('plot_tables.html',
+                               metrics=metrics, report_data=report_data)
     except Exception as e:
         session['server_error'] = e.message + ' ' + repr(e.args)
         return redirect(url_for('file_not_found'))
 
         </center>
     </div>
     <script>
-        data = {{ data | tojson | safe }};
         page = [];
-        results = data.results;
-        if (results == undefined) {
-            details = data.details;
-        } else {
-            details = results[0].details;
-        }
-        metrics = details.metrics;
-        report_data = details.report_data;
+        metrics = {{ metrics | tojson | safe }};
+        report_data = {{ report_data | tojson | safe }};
+        console.log(metrics);
+        console.log(report_data);
         for (var key in report_data) {
+            console.log(key);
             for (var test in report_data[key]) {
                 var text = "";
                 var series = [];
                 }
             }
         }
+        console.log(page);
 
         function content_display(num) {
             var text = page[num - 1][0];
                     width: 2
                 }
             };
-            Plotly.newPlot(graphID, [plot, avg_plus, avg_minus]);
+            var layout = {
+  xaxis: {
+    title: 'ROUND',
+    titlefont: {
+      family: 'Arial, sans-serif',
+      size: 18,
+      color: 'lightgrey'
+    },
+    showticklabels: true,
+  },
+  yaxis: {
+    title: 'IOPS',
+    titlefont: {
+      family: 'Arial, sans-serif',
+      size: 18,
+      color: 'lightgrey'
+    },
+    showticklabels: true,
+  }
+};
+            Plotly.newPlot(graphID, [plot, avg_plus, avg_minus],layout);
         }
         content_display(1);
         $('#page-selection').bootpag({