У меня есть скрипт, который выполняет множество различных тестов для некоторого сетевого оборудования. Я хочу напечатать только неудачное сообщение из вывода. Ключ (show bgp summary) не постоянен, он может меняться. И может быть несколько полей для массажа, как в разделе «провал», так и в разделе «пропущено».
Как я могу это сделать?
pprint(checkvalue.test_results)
Укажите этот вывод:
{'show bgp summary': [{'count': {'fail': 2, 'pass': 8},
'failed': [{'id': {'peer-address': '10.10.20.20'},
'message': ' The BGP Neighbour 10.10.20.20 '
"was in ['Established'], now "
"it's ['Connect']",
'post': {'peer-address': '10.10.20.20',
'peer-state': ['Connect']},
'post_node_value': ['Connect'],
'pre': {'peer-state': ['Established']},
'pre_node_value': ['Established']},
{'id': {'peer-address': '10.10.10.10'},
'message': ' The BGP Neighbour 10.10.10.10 '
"was in ['Established'], now "
"it's ['Connect']",
'post': {'peer-address': '10.10.10.10',
'peer-state': ['Connect']},
'post_node_value': ['Connect'],
'pre': {'peer-state': ['Established']},
'pre_node_value': ['Established']}],
'node_name': 'peer-state',
'passed': [{'id': {'peer-address': '111.111.111.111'},
'message': 'BGP State check',
'post': {'peer-address': '111.111.111.111',
'peer-state': ['Established']},
'post_node_value': ['Established'],
'pre': {'peer-state': ['Established']},
'pre_node_value': ['Established']},
{'id': {'peer-address': '0000:0000:0000:00:2'},
'message': 'BGP State check',
'post': {'peer-address': '0000:000:0000:00::2',
'peer-state': ['Active']},
'post_node_value': ['Active'],
'pre': {'peer-state': ['Active']},
'pre_node_value': ['Active']},
'result': False,
'test_name': 'BGP-peers-estab',
'testoperation': 'no-diff',
'xpath': 'bgp-peer'}]}
Я только хочу напечатать сообщение о неудачных тестах. Как это:
'Сосед BGP 10.10.10.10' "был в ['Установлен'], сейчас"
"это ['Connect']"