12.10. pyVig - common functions
12.11. pyVig - database functions
- class nettoolkit.pyVig.database.CableMatrixData(**kwargs)[source]
Bases:
DataCabling Data Object Building
- calc_slop(DD)[source]
calculate the slop and angle of the two end points and add it in respective column in dataframe.
- Parameters:
DD (DeviceData) – DeviceData object
- filter(**kwargs)[source]
filter the dataframe for given column:value multiple kwargs act as ‘and’ operation.
- filter_eligible_cables_only()[source]
optional filter: filters DataFrame for the column include with values as y
- optional_columns = {'aport': '', 'color': 'blue', 'connector_type': 'straight', 'pattern': 1, 'weight': 1}
- sheet_name = 'Cablings'
- class nettoolkit.pyVig.database.Data(**kwargs)[source]
Bases:
objectParent class defining device and connectors.
- add_attribute(attr_name, attr_value)[source]
adds an attribute to object instance
- Parameters:
attr_name (str) – attribute name
attr_value (str) – attribute value
- class nettoolkit.pyVig.database.DeviceData(**kwargs)[source]
Bases:
DataDevices Data Object Building
- add_description(columns_to_merge)[source]
add a description column to dataframe, which will be output of merged data of provided columns
- Parameters:
columns_to_merge (iterable) – provide list/set/tuple of column names to be merged in a single
column. (description)
- Raises:
ValueError – Raises error if Mandtory hostname column is missing.
- add_format_columnnames_attributes()[source]
add default format columns {iconWidth, iconHeight} as object attributes
- default_stencil = None
- format_columns = {'iconHeight': 1, 'iconWidth': 2.5}
- optional_columns = {'item': None, 'stencil': None}
- sheet_name = 'Devices'
- x = 'x-axis'
- y = 'y-axis'
- nettoolkit.pyVig.database.merged_df_on_hostname(devices_df, cablemtx_df, hostname_col_hdr, sortby)[source]
merge two dataframes by matching hostname column
- Parameters:
devices_df (DataFrame) – Devices details dataframe
cablemtx_df (DataFrame) – Cabling details dataframe
hostname_col_hdr (str) – column name of hostname from cabling dataframe to be merge with
sortby (str) – adhoc column name on which data to be sorted
- Raises:
ValueError – Raise Exception if hostname column missing.
- Returns:
merged DataFrame
- Return type:
DataFrame
12.12. pyVig - general functions
- nettoolkit.pyVig.general.drop_empty(df, column)[source]
remove emptry rows found for given column
- Parameters:
df (DataFrame) – pandas DataFrame
column (str) – column name
- Returns:
data filtered DataFrame
- Return type:
DataFrame
- nettoolkit.pyVig.general.get_dev_hostname(var_df=None, update=False, merged_df_ser_hostname=None, merged_df_series_key=None, key=None, value=None, hostname=None)[source]
either get device hostname from var tab or update full series with device hostname
- Parameters:
var_df (DataFrame, optional) – var DataFrame. Defaults to None.
update (bool, optional) – updating full series or not. Defaults to False.
merged_df_ser_hostname (series, optional) – hostnames series. Defaults to None.
merged_df_series_key (key, optional) – series key name. Defaults to None.
key (str, optional) – series key. Defaults to None.
value (value, optional) – result value. Defaults to None.
hostname (str, optional) – hostname to match with. Defaults to None.
- Returns:
return device hostname based on update
- Return type:
str, series
- nettoolkit.pyVig.general.get_dev_model(var_df=None, update=False, merged_df_ser_hostname=None, merged_df_series_key=None, key=None, value=None, hostname=None)[source]
either get device model from var tab or update full series with device model
- Parameters:
var_df (DataFrame, optional) – var DataFrame. Defaults to None.
update (bool, optional) – updating full series or not. Defaults to False.
merged_df_ser_hostname (series, optional) – hostnames series. Defaults to None.
merged_df_series_key (key, optional) – series key name. Defaults to None.
key (str, optional) – series key. Defaults to None.
value (value, optional) – result value. Defaults to None.
hostname (str, optional) – hostname to match with. Defaults to None.
- Returns:
return device model based on update
- Return type:
str, series
- nettoolkit.pyVig.general.get_dev_serial(var_df=None, update=False, merged_df_ser_hostname=None, merged_df_series_key=None, key=None, value=None, hostname=None)[source]
either get serial number from var tab or update full series with serial numbers
- Parameters:
var_df (DataFrame, optional) – var DataFrame. Defaults to None.
update (bool, optional) – updating full series or not. Defaults to False.
merged_df_ser_hostname (series, optional) – hostnames series. Defaults to None.
merged_df_series_key (key, optional) – series key name. Defaults to None.
key (str, optional) – series key. Defaults to None.
value (value, optional) – result value. Defaults to None.
hostname (str, optional) – hostname to match with. Defaults to None.
- Returns:
return serial number based on update
- Return type:
str, series
- nettoolkit.pyVig.general.get_item_first(s)[source]
get first index item
- Parameters:
s (series) – pandas series
- Returns:
first item from provided Pandas Series
- Return type:
str
- nettoolkit.pyVig.general.get_patterns(df, line_pattern_style_separation_on, line_pattern_style_shift_no)[source]
get the line pattern numbers for the unique line styles require based on line_pattern_style_separation_on
- Parameters:
df (DataFrame) – pandas DataFrame
line_pattern_style_separation_on (str) – DataFrame Column name on which line patters to be separated
line_pattern_style_shift_no (int) – line pattern skip step number.
- Returns:
dictionary of unique line pattern identifies with its shift number.
- Return type:
dict
- nettoolkit.pyVig.general.get_physical_if_relevants(df, relevant_cols=['interface', 'nbr_dev_type', 'int_filter', 'nbr_hostname', 'nbr_interface', 'vlan_members', 'media_type'])[source]
filters the DataFrame columns for relevant columns
- Parameters:
df (DataFrame) – pandas DataFrame
relevant_cols (list, optional) – list of relevant columns. Defaults to [‘interface’, ‘nbr_dev_type’, ‘int_filter’, ‘nbr_hostname’, ‘nbr_interface’, ‘vlan_members’,].
- Returns:
udpated DataFrame
- Return type:
DataFrame
- nettoolkit.pyVig.general.get_physical_if_up(df)[source]
filter the DataFrame rows for active/enabled physical interfaces
- Parameters:
df (DataFrame) – pandas DataFrame
- Returns:
udpated DataFrame
- Return type:
DataFrame
- nettoolkit.pyVig.general.get_vlan_if_relevants(df, relevant_cols=['int_number', 'interface', 'intvrf', 'subnet'])[source]
filters the DataFrame columns for relevant columns
- Parameters:
df (DataFrame) – pandas DataFrame
relevant_cols (list, optional) – list of relevant columns. Defaults to [‘int_number’, ‘interface’, ‘intvrf’, ‘subnet’ ].
- Returns:
udpated DataFrame
- Return type:
DataFrame
- nettoolkit.pyVig.general.get_vlan_if_up(df)[source]
filter the DataFrame rows for active/enabled vlan/irb interfaces
- Parameters:
df (DataFrame) – pandas DataFrame
- Returns:
udpated DataFrame
- Return type:
DataFrame
- nettoolkit.pyVig.general.get_vlans_info(vlan_members, vlan_df)[source]
get the vlan-vrf-subnet information string for provided vlan number(s) from vlan DataFrame
- Parameters:
vlan_members (str, int) – a single vlan number or vlan numbers separated by comma
vlan_df (DataFrame) – DataFrame from vlan tab of -clean excel file
- Returns:
concatenated string of vlan-vrf-subnet information.
- Return type:
str
- nettoolkit.pyVig.general.series_item_0_value(s)[source]
returns the first item value of a series
- Parameters:
s (series) – pandas series object
- Returns:
value from series
- Return type:
str
- nettoolkit.pyVig.general.update_merged_df_series(merged_df_ser_hostname, merged_df_series_key, key, value, hostname)[source]
update merged dataframe series
- Parameters:
merged_df_ser_hostname (series) – hostname series
merged_df_series_key (series) – key series
key (str) – key value
value (str) – value
hostname (str) – hostname to match with
- Returns:
matched result
- Return type:
str
- nettoolkit.pyVig.general.update_pattern(df, patterns, line_pattern_style_separation_on)[source]
update the line pattern column for the unique line styles require based on column line_pattern_style_separation_on
- Parameters:
df (DataFrame) – pandas DataFrame
patterns (dict) – dictionary of unique line pattern identifies with its shift number
line_pattern_style_separation_on (str) – DataFrame Column name on which line patters to be separated
- Returns:
updated DataFrame
- Return type:
DataFrame
- nettoolkit.pyVig.general.update_vlans_info(int_df, vlan_df)[source]
add vlan_info [column] to interface DataFrame using help of vlan DataFrame
- Parameters:
int_df (DataFrame) – interface DataFrame
vlan_df (DataFrame) – DataFrame from vlan tab of -clean excel file
- Returns:
updated interface DataFrame
- Return type:
DataFrame