dashing.py 812 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/python
  2. import json
  3. import logging
  4. import requests
  5. class DashingClient:
  6. base_url = None
  7. def __init__(self, base_url, auth_token):
  8. self.base_url = base_url
  9. self.auth_token = auth_token
  10. self.logger = logging.getLogger('dashing')
  11. def send(self, metric, current, previous=None):
  12. info = {
  13. 'auth_token': self.auth_token,
  14. 'current': int(current),
  15. }
  16. if not previous is None:
  17. info['previous'] = previous
  18. url = self.base_url + metric
  19. r = requests.post(url, data=json.dumps(info))
  20. self.logger.debug('Sent metric "{0}" = "{1}"'.format(metric, current))
  21. return r
  22. def push(self, data):
  23. self.logger.warn('push() not implemented yet')
  24. if __name__ == "__main__":
  25. d = DashingClient('http://dashing.krombel.de:3030/widgets/', 'bitnhmlj47hamrftxkiug')
  26. d.send('testNumber', 42)