__init__.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #-*- coding:utf-8 -*-
  2. import time
  3. from flask import request, g, session, abort, render_template
  4. from MySQLdb import ProgrammingError
  5. from rrd import app
  6. from rrd.consts import RRD_CFS, GRAPH_TYPE_KEY, GRAPH_TYPE_HOST
  7. from rrd.view.utils import get_usertoken_from_session, get_current_user_profile
  8. @app.teardown_request
  9. def teardown_request(exception):
  10. pass
  11. @app.before_request
  12. def chart_before():
  13. g.user_token = get_usertoken_from_session(session)
  14. g.user = get_current_user_profile(g.user_token)
  15. if request.method == "GET":
  16. now = int(time.time())
  17. #是否显示顶部图表导航
  18. g.nav_header = request.args.get("nav_header") or "on"
  19. g.cols = request.args.get("cols") or "2"
  20. try:
  21. g.cols = int(g.cols)
  22. except:
  23. g.cols = 2
  24. if g.cols <= 0:
  25. g.cols = 2
  26. if g.cols >= 6:
  27. g.cols = 6
  28. g.legend = request.args.get("legend") or "off"
  29. g.graph_type = request.args.get("graph_type") or GRAPH_TYPE_HOST
  30. g.sum = request.args.get("sum") or "off" #是否求和
  31. g.sumonly = request.args.get("sumonly") or "off" #是否只显示求和
  32. g.cf = (request.args.get("cf") or "AVERAGE").upper() # MAX, MIN, AVGRAGE, LAST
  33. g.start = int(request.args.get("start") or -3600)
  34. if g.start < 0:
  35. g.start = now + g.start
  36. g.end = int(request.args.get("end") or 0)
  37. if g.end <= 0:
  38. g.end = now + g.end
  39. g.end = g.end - 60
  40. g.id = request.args.get("id") or ""
  41. g.limit = int(request.args.get("limit") or 0)
  42. g.page = int(request.args.get("page") or 0)