router.html: Fix code flow to provide JSON without reading stats

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
Adrian Schmutzler 2018-01-15 16:10:26 +01:00
parent 05c6af708f
commit 9da232ac50
1 changed files with 15 additions and 15 deletions

View File

@ -140,6 +140,11 @@ def router_info(dbid):
router["events"] = mysql.fetchall("""SELECT * FROM router_events WHERE router = %s""",(dbid,)) router["events"] = mysql.fetchall("""SELECT * FROM router_events WHERE router = %s""",(dbid,))
router["events"] = mysql.utcawaretuple(router["events"],"time") router["events"] = mysql.utcawaretuple(router["events"],"time")
## Create json with all data except stats
if request.args.get('json', None) != None:
mysql.close()
return Response(bson2json(router, sort_keys=True, indent=4), mimetype='application/json')
router["stats"] = mysql.fetchall("""SELECT * FROM router_stats WHERE router = %s""",(dbid,)) router["stats"] = mysql.fetchall("""SELECT * FROM router_stats WHERE router = %s""",(dbid,))
for s in router["stats"]: for s in router["stats"]:
s["time"] = mysql.utcawareint(s["time"]) s["time"] = mysql.utcawareint(s["time"])
@ -208,21 +213,16 @@ def router_info(dbid):
mysql.close() mysql.close()
return "Router not found" return "Router not found"
if request.args.get('json', None) != None: return render_template("router.html",
del router["stats"] router = router,
#FIXME: Only as admin mac = mac,
return Response(bson2json(router, sort_keys=True, indent=4), mimetype='application/json') tileurls = tileurls,
else: netifstats = netiffetch,
return render_template("router.html", neighstats = neighfetch,
router = router, gwstats = gwfetch,
mac = mac, authuser = is_authorized(router["user"], session),
tileurls = tileurls, authadmin = session.get('admin')
netifstats = netiffetch, )
neighstats = neighfetch,
gwstats = gwfetch,
authuser = is_authorized(router["user"], session),
authadmin = session.get('admin')
)
except Exception as e: except Exception as e:
writelog(CONFIG["debug_dir"] + "/fail_router.txt", str(e)) writelog(CONFIG["debug_dir"] + "/fail_router.txt", str(e))
import traceback import traceback