Source code for nettoolkit.facts_finder.mergers.cisco


from nettoolkit.facts_finder.modifiers import cisco_modifier
from .common import Merged

# ========================================================================================

[docs] class CiscoMerge(Merged): """Class which merges generator and modifier data for Cisco. Inherits Merged class Args: fg (generator object): Facts generator object from generators capture_tfsm_file (str): file name of configuration capture use_cdp (bool): defines for cisco use cdp neighbors or not. Some cases where lldp is disabled using cdp to identify neighbors. """ def __init__(self, fg, capture_tfsm_file, use_cdp): """object initializer for cisco merger class. """ super().__init__(fg, capture_tfsm_file, use_cdp) def __call__(self): """object call, merger execution steps by step """ if not self.capture_tfsm_file: return None self.get_facts_modifiers() self.merged_var_dataframe() # self.var_df self.merged_interfaces_dataframe() # self.int_df self.merged_vrfs_dataframe() # self.vrf_df self.bgp_dataframe() self.ospf_dataframe() self.static_dataframe() self.generate_interface_numbers() self.split_interface_dataframe() self.add_filters() self.add_fg_dfs()
[docs] def get_facts_modifiers(self): """retrives cisco modifier databse in a dictionary format and store it within object as pdf_dict """ self.pdf_dict = cisco_modifier(self.capture_tfsm_file, use_cdp=self.use_cdp)
[docs] def add_fg_dfs(self): """add facts generator data frames to merged dictionary """ self.fg_merged_dict = { 'var': self.fg_var_df, 'vrf': self.fg_vrf_df, 'bgp': self.fg_bgp_df, }