katrin.py 933 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import re
  2. import time
  3. def index():
  4. return locals()
  5. @cache(request.env.path_info, time_expire=10, cache_model=cache.ram)
  6. @request.restful()
  7. def status():
  8. if request.env.http_origin:
  9. response.headers['Access-Control-Allow-Origin'] = '*'
  10. def GET():
  11. res = {}
  12. t0 = time.time()
  13. for idx, config in enumerate(status_configs):
  14. adapter = status_adapters[idx]
  15. sensors = config.get('sensors')
  16. group = config.get('group')
  17. sensorlist = adapter.sensors
  18. data = adapter.read_sensors(sensors, group)
  19. sensorname = config.get('server') + '__'
  20. sensorname += config.get('database') + '__'
  21. sensorname += config.get('group') + '__'
  22. for d, v in data[group].iteritems():
  23. if d is 'timestamp':
  24. s = sensorname + d
  25. else:
  26. try:
  27. s = sensorname + sensorlist.get(group).get(d)
  28. except:
  29. continue
  30. res[s] = v
  31. t1 = time.time()
  32. logger.debug(t1 - t0)
  33. return res
  34. return locals()