Loading src/common/tools/descriptor/Tools.py +19 −6 Original line number Diff line number Diff line Loading @@ -69,19 +69,19 @@ def format_custom_config_rules(config_rules : List[Dict]) -> List[Dict]: def format_device_custom_config_rules(device : Dict) -> Dict: config_rules = device.get('device_config', {}).get('config_rules', []) config_rules = format_custom_config_rules(config_rules) device['device_config']['config_rules'] = config_rules device.setdefault('device_config', {})['config_rules'] = config_rules return device def format_service_custom_config_rules(service : Dict) -> Dict: config_rules = service.get('service_config', {}).get('config_rules', []) config_rules = format_custom_config_rules(config_rules) service['service_config']['config_rules'] = config_rules service.setdefault('service_config', {})['config_rules'] = config_rules return service def format_slice_custom_config_rules(slice_ : Dict) -> Dict: config_rules = slice_.get('slice_config', {}).get('config_rules', []) config_rules = format_custom_config_rules(config_rules) slice_['slice_config']['config_rules'] = config_rules slice_.setdefault('slice_config', {})['config_rules'] = config_rules return slice_ def split_devices_by_rules(devices : List[Dict]) -> Tuple[List[Dict], List[Dict]]: Loading Loading @@ -138,6 +138,19 @@ def link_type_to_str(link_type : Union[int, str]) -> Optional[str]: if isinstance(link_type, str): return LinkTypeEnum.Name(LinkTypeEnum.Value(link_type)) return None LINK_TYPES_NORMAL = { LinkTypeEnum.LINKTYPE_UNKNOWN, LinkTypeEnum.LINKTYPE_COPPER, LinkTypeEnum.LINKTYPE_RADIO, LinkTypeEnum.LINKTYPE_MANAGEMENT, } LINK_TYPES_OPTICAL = { LinkTypeEnum.LINKTYPE_FIBER, } LINK_TYPES_VIRTUAL = { LinkTypeEnum.LINKTYPE_VIRTUAL, } def split_links_by_type(links : List[Dict]) -> Dict[str, List[Dict]]: typed_links = collections.defaultdict(list) for link in links: Loading @@ -148,11 +161,11 @@ def split_links_by_type(links : List[Dict]) -> Dict[str, List[Dict]]: raise Exception(MSG.format(str(link))) link_type = LinkTypeEnum.Value(str_link_type) if link_type in {LinkTypeEnum.LINKTYPE_UNKNOWN, LinkTypeEnum.LINKTYPE_COPPER, LinkTypeEnum.LINKTYPE_RADIO, LinkTypeEnum.LINKTYPE_MANAGEMENT}: if link_type in LINK_TYPES_NORMAL: typed_links['normal'].append(link) elif link_type in {LinkTypeEnum.LINKTYPE_FIBER}: elif link_type in LINK_TYPES_OPTICAL: typed_links['optical'].append(link) elif link_type in {LinkTypeEnum.LINKTYPE_VIRTUAL}: elif link_type in LINK_TYPES_VIRTUAL: typed_links['virtual'].append(link) else: MSG = 'Unsupported LinkType({:s}) in Link({:s})' Loading Loading
src/common/tools/descriptor/Tools.py +19 −6 Original line number Diff line number Diff line Loading @@ -69,19 +69,19 @@ def format_custom_config_rules(config_rules : List[Dict]) -> List[Dict]: def format_device_custom_config_rules(device : Dict) -> Dict: config_rules = device.get('device_config', {}).get('config_rules', []) config_rules = format_custom_config_rules(config_rules) device['device_config']['config_rules'] = config_rules device.setdefault('device_config', {})['config_rules'] = config_rules return device def format_service_custom_config_rules(service : Dict) -> Dict: config_rules = service.get('service_config', {}).get('config_rules', []) config_rules = format_custom_config_rules(config_rules) service['service_config']['config_rules'] = config_rules service.setdefault('service_config', {})['config_rules'] = config_rules return service def format_slice_custom_config_rules(slice_ : Dict) -> Dict: config_rules = slice_.get('slice_config', {}).get('config_rules', []) config_rules = format_custom_config_rules(config_rules) slice_['slice_config']['config_rules'] = config_rules slice_.setdefault('slice_config', {})['config_rules'] = config_rules return slice_ def split_devices_by_rules(devices : List[Dict]) -> Tuple[List[Dict], List[Dict]]: Loading Loading @@ -138,6 +138,19 @@ def link_type_to_str(link_type : Union[int, str]) -> Optional[str]: if isinstance(link_type, str): return LinkTypeEnum.Name(LinkTypeEnum.Value(link_type)) return None LINK_TYPES_NORMAL = { LinkTypeEnum.LINKTYPE_UNKNOWN, LinkTypeEnum.LINKTYPE_COPPER, LinkTypeEnum.LINKTYPE_RADIO, LinkTypeEnum.LINKTYPE_MANAGEMENT, } LINK_TYPES_OPTICAL = { LinkTypeEnum.LINKTYPE_FIBER, } LINK_TYPES_VIRTUAL = { LinkTypeEnum.LINKTYPE_VIRTUAL, } def split_links_by_type(links : List[Dict]) -> Dict[str, List[Dict]]: typed_links = collections.defaultdict(list) for link in links: Loading @@ -148,11 +161,11 @@ def split_links_by_type(links : List[Dict]) -> Dict[str, List[Dict]]: raise Exception(MSG.format(str(link))) link_type = LinkTypeEnum.Value(str_link_type) if link_type in {LinkTypeEnum.LINKTYPE_UNKNOWN, LinkTypeEnum.LINKTYPE_COPPER, LinkTypeEnum.LINKTYPE_RADIO, LinkTypeEnum.LINKTYPE_MANAGEMENT}: if link_type in LINK_TYPES_NORMAL: typed_links['normal'].append(link) elif link_type in {LinkTypeEnum.LINKTYPE_FIBER}: elif link_type in LINK_TYPES_OPTICAL: typed_links['optical'].append(link) elif link_type in {LinkTypeEnum.LINKTYPE_VIRTUAL}: elif link_type in LINK_TYPES_VIRTUAL: typed_links['virtual'].append(link) else: MSG = 'Unsupported LinkType({:s}) in Link({:s})' Loading