event_storage.py 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import json
  2. import re
  3. from memory_storage import MemoryStorage
  4. from hard_disk_storage import HardDiskStorage
  5. from configuration import Configuration
  6. class EventStorage:
  7. def __init__(self):
  8. self.config = Configuration().get_system_config()
  9. self.memoryStorage = MemoryStorage(self.config['memoryDatabase'])
  10. self.hardDiskStorage = HardDiskStorage(self.config['hardDiskdataBase'])
  11. def get_real_data(self, keys):
  12. data = self.memoryStorage.get_value(keys)
  13. return data
  14. def get_historical_data(self, select_info):
  15. data = self.hardDiskStorage.get_table_data(select_info)
  16. return data
  17. def real_time_data_storage(self, data):
  18. self.memoryStorage.set_value(data)
  19. def historical_data_storage(self, table_name, seve_time, data):
  20. self.hardDiskStorage.insert_column_many(table_name, seve_time, data)
  21. def get_connector_config(self, read_write):
  22. config = self.hardDiskStorage.get_connectors(read_write)
  23. for station_info in config:
  24. station_info['connector_config'] = json.loads(station_info['connector_config'])
  25. return config
  26. def get_station_info(self, station_name):
  27. return self.hardDiskStorage.get_station_info(station_name)
  28. def get_table_name(self):
  29. table_name = self.hardDiskStorage.get_table_name()
  30. return table_name
  31. # def table_xxx_insert_data(self, format_data_dict, table_name, save_time):
  32. # self.hardDiskStorage.table_xxx_insert_data(format_data_dict, table_name, save_time)
  33. def get_point_info(self, keys):
  34. point_list = []
  35. if keys:
  36. for key in keys:
  37. point_list.append(re.sub("\D", "", key))
  38. point_tuple = tuple(point_list)
  39. else:
  40. point_tuple = None
  41. return self.hardDiskStorage.get_point_info(point_tuple)
  42. # 获取modbus命令
  43. def get_command_info(self, station_name):
  44. return self.hardDiskStorage.get_command_info(station_name)
  45. # 执行sql语句
  46. def execute_sql(self, sql):
  47. result = self.hardDiskStorage.execute_sql(sql)
  48. return result
  49. def execute_update_sql(self, sql):
  50. """执行UPDATE、INSERT、DELETE语句"""
  51. return self.hardDiskStorage.execute_update_sql(sql)
  52. def gather_fish_light_info(self, location):
  53. """水下聚鱼灯远程控制功能:查找指定位置的聚鱼灯的相关控制信息"""
  54. return self.hardDiskStorage.gather_fish_light_info(location)
  55. def get_gather_fish_light_command(self):
  56. """水下聚鱼灯远程控制功能:查看控制聚鱼灯的指令"""
  57. return self.hardDiskStorage.get_gather_fish_light_command()
  58. class Networkerror(RuntimeError):
  59. def __init__(self, arg):
  60. self.args = arg