data.py 952 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. """
  4. demeter database
  5. name:data.py
  6. author:rabin
  7. """
  8. from base import Base
  9. class Data(Base):
  10. __table__ = 'data'
  11. __type__ = 'influxdb'
  12. def insert(self, data):
  13. json = self.model_insert(data)
  14. self.db.write_points(json)
  15. self.select()
  16. def model_insert(self, data):
  17. if 'farm' in data:
  18. json = self.model_farm(data)
  19. else:
  20. json = self.model_json(data)
  21. return json
  22. def model_json(self, data):
  23. return data
  24. def model_farm(self, data):
  25. json = [
  26. {
  27. "measurement": self.table,
  28. "tags": {
  29. "farm": data['farm'],
  30. "method": data['method'],
  31. "gateway": data['gateway'],
  32. "device": data['device']
  33. },
  34. #"time": data['time'],
  35. "fields": {
  36. data['type']: data['value']
  37. }
  38. }]
  39. return json
  40. def select(self):
  41. result = self.db.query('select * from ' + self.table)
  42. print("Result: {0}".format(result))