nodata.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # -*- coding:utf-8 -*-
  2. __author__ = 'niean'
  3. from rrd import app
  4. from flask import request, g, render_template, jsonify
  5. from rrd.model.portal.nodata import Nodata
  6. from rrd.utils.params import required_chk
  7. @app.route('/portal/nodata')
  8. def nodatas_get():
  9. page = int(request.args.get('p', 1))
  10. limit = int(request.args.get('limit', 5))
  11. query = request.args.get('q', '').strip()
  12. mine = request.args.get('mine', '1')
  13. me = g.user.name if mine == '1' else None
  14. vs, total = Nodata.query(page, limit, query, me)
  15. return render_template(
  16. 'portal/nodata/list.html',
  17. data={
  18. 'vs': vs,
  19. 'total': total,
  20. 'query': query,
  21. 'limit': limit,
  22. 'page': page,
  23. 'mine': mine,
  24. }
  25. )
  26. @app.route('/portal/nodata/add')
  27. def nodata_add_get():
  28. o = Nodata.get(int(request.args.get('id', '0').strip()))
  29. return render_template('portal/nodata/add.html', data={'nodata': o})
  30. @app.route('/portal/nodata/update', methods=['POST'])
  31. def nodata_update_post():
  32. nodata_id = request.form['nodata_id'].strip()
  33. name = request.form['name'].strip()
  34. obj = request.form['obj'].strip()
  35. obj_type = request.form['obj_type'].strip()
  36. metric = request.form['metric'].strip()
  37. tags = request.form['tags'].strip()
  38. dstype = request.form['dstype'].strip()
  39. step = request.form['step'].strip()
  40. mock = request.form['mock'].strip()
  41. msg = required_chk({
  42. 'name' : name,
  43. 'endpoint' : obj,
  44. 'endpoint_type' : obj_type,
  45. 'metric' : metric,
  46. 'type' : dstype,
  47. 'step' : step,
  48. 'mock_value': mock,
  49. })
  50. if msg:
  51. return jsonify(msg=msg)
  52. return jsonify(msg=Nodata.save_or_update(
  53. nodata_id,
  54. name,
  55. obj,
  56. obj_type,
  57. metric,
  58. tags,
  59. dstype,
  60. step,
  61. mock,
  62. g.user.name,
  63. ))
  64. @app.route('/portal/nodata/delete/<nodata_id>')
  65. def nodata_delete_get(nodata_id):
  66. nodata_id = int(nodata_id)
  67. Nodata.delete_one(nodata_id)
  68. return jsonify(msg='')