ChannelCalc.py 860 B

1234567891011121314151617181920212223242526
  1. from .CalcBase import CalcBase
  2. from .DataStream import EChPosmap as pos_map, span_days
  3. from .ChannelReader import ChannelReader
  4. import logging
  5. logger = logging.getLogger('ChannelCalc')
  6. def detail_pathes(reader: ChannelReader, tuple_pathes: dict, days: list):
  7. count = len(days)
  8. for name, tup in tuple_pathes.items():
  9. for _card_type, _spec in tup:
  10. detail_datas = reader.init_data(count)
  11. for i, day in enumerate(days):
  12. data = reader.read(day, name, _card_type, _spec)
  13. if data is not None:
  14. column_pos = i * 86400
  15. view = detail_datas[:, column_pos:column_pos + 86400]
  16. view += data
  17. yield name, _card_type, _spec, detail_datas
  18. class ChannelCalc(CalcBase):
  19. def _reader(self):
  20. return ChannelReader()
  21. pass