Source code for nettoolkit.yaml_facts.juniper.parsers.interface_descriptions

"""juniper interface description command output parser """

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


[docs] def get_interface_description(cmd_op): """parse output of : show interfaces description Args: command_output (list): command output Returns: dict: interfaces level parsed output dictionary """ op_dict = {} for l in cmd_op: if blank_line(l): continue if l.strip().startswith("#"): continue if l.startswith("Interface"): desc_begin_at = l.find("Description") link_desc_begin_at = l.find("Admin") continue spl = l.strip().split() p = spl[0] if p.endswith(".0"): p = p[:-2] port = get_int_port_dict(op_dict=op_dict, port=p) if not (port.get('description') and port['description']): port['description'] = get_string_trailing(l, desc_begin_at) port['link_status'] = l[link_desc_begin_at:link_desc_begin_at+5].strip() return {'interfaces': op_dict}
# ------------------------------------------------------------------------------