DataStream.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. from abc import ABCMeta, abstractmethod,ABC
  2. from datetime import timedelta
  3. __all__ = ['DataWriteStream', 'DataReadStream', 'day_stamp', 'MchPosmap','ChPosmap']
  4. def day_stamp(stamp):
  5. import time as stime
  6. stamp = int(stamp)
  7. st_time = stime.gmtime(stamp + 8 * 3600)
  8. diff = timedelta(hours=st_time.tm_hour, minutes=st_time.tm_min, seconds=st_time.tm_sec)
  9. today = stamp - diff.total_seconds()
  10. return int(today)
  11. class DataWriteStream(metaclass=ABCMeta):
  12. def __init__(self,hfive):
  13. self._hfive = hfive
  14. # Getter function
  15. @property
  16. def file(self):
  17. return self._hfive
  18. # Setter function
  19. @file.setter
  20. def file(self, value):
  21. self._hfive = value
  22. @abstractmethod
  23. def read(self):
  24. pass
  25. @abstractmethod
  26. def write(self,method,params):
  27. pass
  28. def close(self):
  29. if self._hfive is not None:
  30. self._hfive.close()
  31. class DataReadStream(metaclass=ABCMeta):
  32. def __init__(self,hfive):
  33. self._hfive = hfive
  34. # Getter function
  35. @property
  36. def file(self):
  37. return self._hfive
  38. # Setter function
  39. @file.setter
  40. def file(self, value):
  41. self._hfive = value
  42. @abstractmethod
  43. def write(self,method,params):
  44. pass
  45. def close(self):
  46. if self._hfive is not None:
  47. self._hfive.close()
  48. class MchPosmap(metaclass=ABCMeta):
  49. pos_map = {
  50. 'submit_count': 0, 'submit_amounts': 1,
  51. 'succ_count': 2, 'succ_mch_amounts': 3, 'succ_ch_amounts': 4,
  52. 'fail_count': 5, 'fail_mch_amounts': 6
  53. }
  54. pass
  55. class ChPosmap(metaclass=ABCMeta):
  56. pos_map = {
  57. 'commit_count': 0, 'commit_amounts': 1,
  58. 'succ_count': 2,'succ_amounts': 3, 'succ_periods': 4,
  59. 'fail_count': 5, 'fail_amounts': 6,'fail_periods': 7
  60. }
  61. pass