def dash_screen(sid): start = request.args.get("start") end = request.args.get("end") top_screens = DashboardScreen.gets(pid=0) top_screens = sorted(top_screens, key=lambda x: x.name) screen = DashboardScreen.get(sid) if not screen: abort(404, "no screen") if str(screen.pid) == '0': sub_screens = DashboardScreen.gets(pid=sid) sub_screens = sorted(sub_screens, key=lambda x: x.name) return render_template("screen/top_screen.html", **locals()) pscreen = DashboardScreen.get(screen.pid) sub_screens = DashboardScreen.gets(pid=screen.pid) sub_screens = sorted(sub_screens, key=lambda x: x.name) graphs = DashboardGraph.gets_by_screen_id(screen.id) all_graphs = [] for graph in graphs: all_graphs.extend(generate_graph_urls(graph, start, end) or []) all_graphs = sorted(all_graphs, key=lambda x: x.position) return render_template("screen/screen.html", **locals())
def dash_screen(sid): start = request.args.get("start") end = request.args.get("end") top_screens = DashboardScreen.gets(pid=0) top_screens = sorted(top_screens, key=lambda x: x.name) screen = DashboardScreen.get(sid) if not screen: abort(404, "no screen") if str(screen.pid) == '0': sub_screens = DashboardScreen.gets(pid=sid) sub_screens = sorted(sub_screens, key=lambda x: x.name) return render_template("screen/top_screen.html", **locals()) pscreen = DashboardScreen.get(screen.pid) sub_screens = DashboardScreen.gets(pid=screen.pid) sub_screens = sorted(sub_screens, key=lambda x: x.name) graphs = DashboardGraph.gets_by_screen_id(screen.id) all_graphs = [] for graph in graphs: all_graphs.extend(generate_graph_urls(graph, start, end) or []) all_graphs = sorted(all_graphs, key=lambda x: x.position) return render_template("screen/screen.html", **locals())
def dash_graph_edit(gid): error = "" graph = DashboardGraph.get(gid) if not graph: abort(404, "no graph") all_screens = DashboardScreen.gets() top_screens = [x for x in all_screens if x.pid == '0'] children = [] for t in top_screens: children.append([x for x in all_screens if x.pid == t.id]) screen = DashboardScreen.get(graph.screen_id) if not screen: abort(404, "no screen") pscreen = DashboardScreen.get(screen.pid) if request.method == "POST": ajax = request.form.get("ajax", "") screen_id = request.form.get("screen_id") title = request.form.get("title", "").strip() hosts = request.form.get("hosts", "").strip() hosts = hosts and hosts.split("\n") or [] hosts = [x.strip() for x in hosts] counters = request.form.get("counters", "").strip() counters = counters and counters.split("\n") or [] counters = [x.strip() for x in counters] timespan = request.form.get("timespan", 3600) graph_type = request.form.get("graph_type", 'h') method = request.form.get("method", '').upper() position = request.form.get("position", 0) graph = graph.update(title, hosts, counters, screen_id, timespan, graph_type, method, position) error = u"修改成功了" if not ajax: return render_template("screen/graph_edit.html", config=config, **locals()) else: return "ok" else: ajax = request.args.get("ajax", "") return render_template("screen/graph_edit.html", config=config, **locals())
def dash_graph_edit(gid): error = "" graph = DashboardGraph.get(gid) if not graph: abort(404, "no graph") all_screens = DashboardScreen.gets() top_screens = [x for x in all_screens if x.pid == '0'] children = [] for t in top_screens: children.append([x for x in all_screens if x.pid == t.id]) screen = DashboardScreen.get(graph.screen_id) if not screen: abort(404, "no screen") pscreen = DashboardScreen.get(screen.pid) if request.method == "POST": ajax = request.form.get("ajax", "") screen_id = request.form.get("screen_id") title = request.form.get("title", "").strip() hosts = request.form.get("hosts", "").strip() hosts = hosts and hosts.split("\n") or [] hosts = [x.strip() for x in hosts] counters = request.form.get("counters", "").strip() counters = counters and counters.split("\n") or [] counters = [x.strip() for x in counters] timespan = request.form.get("timespan", 3600) graph_type = request.form.get("graph_type", 'h') method = request.form.get("method", '').upper() position = request.form.get("position", 0) graph = graph.update(title, hosts, counters, screen_id, timespan, graph_type, method, position) error = u"修改成功了" if not ajax: return render_template("screen/graph_edit.html", config=config, **locals()) else: return "ok" else: ajax = request.args.get("ajax", "") return render_template("screen/graph_edit.html", config=config, **locals())
def dash_graph_add(sid): all_screens = DashboardScreen.gets() top_screens = [x for x in all_screens if x.pid == '0'] children = [] for t in top_screens: children.append([x for x in all_screens if x.pid == t.id]) screen = DashboardScreen.get(sid) if not screen: abort(404, "no screen") pscreen = DashboardScreen.get(screen.pid) if request.method == "POST": title = request.form.get("title") hosts = request.form.get("hosts", "").strip() hosts = hosts and hosts.split("\n") or [] hosts = [x.strip() for x in hosts] counters = request.form.get("counters", "").strip() counters = counters and counters.split("\n") or [] counters = [x.strip() for x in counters] timespan = request.form.get("timespan", 3600) graph_type = request.form.get("graph_type", 'h') method = request.form.get("method", '').upper() position = request.form.get("position", 0) graph = DashboardGraph.add(title, hosts, counters, sid, timespan, graph_type, method, position) return redirect("/screen/%s" % sid) else: gid = request.args.get("gid") graph = gid and DashboardGraph.get(gid) return render_template("screen/graph_add.html", config=config, **locals())
def dash_graph_add(sid): all_screens = DashboardScreen.gets() top_screens = [x for x in all_screens if x.pid == '0'] children = [] for t in top_screens: children.append([x for x in all_screens if x.pid == t.id]) screen = DashboardScreen.get(sid) if not screen: abort(404, "no screen") pscreen = DashboardScreen.get(screen.pid) if request.method == "POST": title = request.form.get("title") hosts = request.form.get("hosts", "").strip() hosts = hosts and hosts.split("\n") or [] hosts = [x.strip() for x in hosts] counters = request.form.get("counters", "").strip() counters = counters and counters.split("\n") or [] counters = [x.strip() for x in counters] timespan = request.form.get("timespan", 3600) graph_type = request.form.get("graph_type", 'h') method = request.form.get("method", '').upper() position = request.form.get("position", 0) graph = DashboardGraph.add(title, hosts, counters, sid, timespan, graph_type, method, position) return redirect("/screen/%s" % sid) else: gid = request.args.get("gid") graph = gid and DashboardGraph.get(gid) options = qryOptions() return render_template("screen/graph_add.html", config=config, **locals())
def dash_screens(): top_screens = DashboardScreen.gets(pid='0') top_screens = sorted(top_screens, key=lambda x: x.name) return render_template("screen/index.html", **locals())
def dash_screens(): top_screens = DashboardScreen.gets(pid='0') top_screens = sorted(top_screens, key=lambda x: x.name) return render_template("screen/index.html", **locals())
def dash_graph_edit(gid): error = "" is_tmp_graph = False graph = DashboardGraph.get(gid) all_screens = DashboardScreen.gets() top_screens = [x for x in all_screens if x.pid == '0'] children = [] for t in top_screens: children.append([x for x in all_screens if x.pid == t.id]) if not graph: # 编辑临时 graph graph = TmpGraph.get(gid) graph = DashboardGraph.add('graph', graph.endpoints, graph.counters, 0) if not graph: abort(404, "no graph") is_tmp_graph = True if not is_tmp_graph: screen = DashboardScreen.get(graph.screen_id) if not screen: abort(404, "no screen") # pscreen = DashboardScreen.get(screen.pid) if request.method == "POST": ajax = request.form.get("ajax", "") screen_id = request.form.get("screen_id") title = request.form.get("title", "").strip() hosts = request.form.get("hosts", "").strip() hosts = hosts and hosts.split("\n") or [] hosts = [x.strip() for x in hosts] counters = request.form.get("counters", "").strip() counters = counters and counters.split("\n") or [] counters = [x.strip() for x in counters] timespan = request.form.get("timespan", 3600) graph_type = request.form.get("graph_type", 'h') method = request.form.get("method", '').upper() position = request.form.get("position", 0) if is_tmp_graph: # 如果是临时graph修改之后就添加进去 graph = DashboardGraph.add(title, hosts, counters, screen_id, timespan, graph_type, method, position) else: graph = graph.update(title, hosts, counters, screen_id, timespan, graph_type, method, position) error = u"修改成功了" if not ajax: options = qryOptions() return redirect('/screen/' + graph.screen_id) # 重定向到对应的screen # return render_template("screen/graph_edit.html", config=config, **locals()) else: return "ok" else: ajax = request.args.get("ajax", "") options = qryOptions() return render_template("screen/graph_edit.html", **locals())