def find_se_interfaces_for_tn_interface(se_links, tn_interface): se_interfaces_match = set() for se_link in se_links: #if tn_interface in se_link.get("component_id"): se_link_interfaces = [ FormatUtils.clean_tn_stp_cid(iface.get("component_id")) for iface in se_link.get("interface_ref") ] # Checks: # 1. TN interface is connected to some SE interface # 2. Same authority for both (e.g. control AIST/AIST2 DC case) if tn_interface in se_link_interfaces \ and OrgUtils.check_auth_alt_se_in_mappings(se_link_interfaces): se_link_interfaces = [ FormatUtils.clean_tn_stp_cid(iface.get("component_id")) for iface in se_link.get("interface_ref") ] # Remove link interface that matches with the passed TN interface se_link_interfaces.pop(se_link_interfaces.index(tn_interface)) se_interfaces_match.add(se_link_interfaces[0]) # Convert from set to tuple to avoid unhashable problems later on return tuple(se_interfaces_match)