dashboard.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from flask import Blueprint, render_template, url_for, request
  5. import requests
  6. __author__ = 'James Iter'
  7. __date__ = '2017/8/17'
  8. __contact__ = 'james.iter.cn@gmail.com'
  9. __copyright__ = '(c) 2017 by James Iter.'
  10. blueprint = Blueprint(
  11. 'v_dashboard',
  12. __name__,
  13. url_prefix='/'
  14. )
  15. def show():
  16. args = list()
  17. resource_path = request.path
  18. host_url = request.host_url.rstrip('/')
  19. hosts_url = host_url + url_for('api_hosts.r_get_by_filter')
  20. guests_distribute_count_url = host_url + url_for('api_guests.r_distribute_count')
  21. hosts_ret = requests.get(url=hosts_url)
  22. hosts_ret = json.loads(hosts_ret.content)
  23. guests_distribute_count_ret = requests.get(url=guests_distribute_count_url)
  24. guests_distribute_count_ret = json.loads(guests_distribute_count_ret.content)
  25. hosts_sum = {'cpu': 0, 'memory': 0}
  26. for host in hosts_ret['data']:
  27. hosts_sum['cpu'] += host['cpu']
  28. hosts_sum['memory'] += host['memory']
  29. return render_template('dashboard.html', hosts_sum=hosts_sum, resource_path=resource_path,
  30. guests_distribute_count_ret=guests_distribute_count_ret)