from .chs_type_spec import type_spec_chs import logging logger = logging.getLogger('speedctl') class chs_manager(object): def __init__(self): self.channels = {} pass def add(self,name, card_type, spec, data,end_pos): key_gen = lambda card_type,spec: f'{card_type}-{spec}' key = key_gen(card_type,spec) if key in self.channels: subch = self.channels[key] else: subch = type_spec_chs(card_type, spec) self.channels[key] = subch subch.add(name, data, end_pos) def optimize(self): for key,item in self.channels.items(): item.optimize() def speed(self): total = 0 for key,item in self.channels.items(): total += item.cur_speed() logger.debug(f'total = {total}') return total pass