Source code for nettoolkit.yaml_facts.cisco.parsers.interface_status

# OUTPUT SHOULD BE UNFILTERED ( HEADER ROW REQUIRED IN OUTPUT )
"""cisco show interface status command output parser """

# ------------------------------------------------------------------------------
from .common import *
# ------------------------------------------------------------------------------

[docs] def get_interface_status(command_output): """parse output of : show interface status Args: command_output (list): command output Returns: dict: interfaces level parsed output dictionary """ int_status_dict = {} parsed_data = parse_to_list_using_ntc('show interfaces status', command_output) # for spl in parsed_data: p = STR.if_standardize(spl[0]) int_filter = get_cisco_int_type(p) if not int_status_dict.get(int_filter): int_status_dict[int_filter] = {} int_filter_dict = int_status_dict[int_filter] if p.lower().startswith("port-channel"): p = int(p[12:]) if not int_filter_dict.get(p): int_filter_dict[p] = {} port = int_filter_dict[p] # port['media_type'] = spl[6] port['duplex'] = spl[4] port['speed'] = spl[5] port['link_status'] = spl[2] return {'interfaces': int_status_dict }
# ------------------------------------------------------------------------------