12.10. pyVig - common functions

nettoolkit.pyVig.common.get_filename(absolute_pathfile)[source]

This function takes in the absolute path of a file and returns the filename.

Parameters:

absolute_pathfile (str) – The absolute path of the file.

Returns:

filename

Return type:

str

12.11. pyVig - database functions

class nettoolkit.pyVig.database.CableMatrixData(**kwargs)[source]

Bases: Data

Cabling 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: object

Parent 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

add_kwargs_attributes()[source]

adds all keyword arguments as object attributes

add_optional_columnnames_attributes()[source]

adds default optional columns as object attributes

read(sheet_name)[source]

read data from given excel sheet and set dataframe for the object.

Parameters:

sheet_name (str) – Excel sheet name

verify_mandatory_declared_cols_availabilty(declared=[])[source]

verifies if mandatory and declared columns (cols_to_merge) are available in provided database. Raise error if unavailable any.

Parameters:

declared (list, optional) – list of extra declared columns (if any). Defaults to [].

class nettoolkit.pyVig.database.DeviceData(**kwargs)[source]

Bases: Data

Devices 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