def add_complete_conv_status(self, ns_config, output_dir, avi_config, report_name, vs_level_status):
    '\n        Adds as status row in conversion status csv\n        :param ns_config: NS config dict\n        :param output_dir: output directory\n        :param avi_config: AVI config dict\n        :param report_name: name of report\n        :param vs_level_status: add vs level details in XL sheet\n        '
    global csv_writer_dict_list
    global progressbar_count
    global total_count
    print('Generating Report For Converted Configuration...')
    ptotal = len(ns_config)
    ppcount = 0
    for config_key in ns_config:
        ppcount += 1
        config_object = ns_config[config_key]
        msg = 'Generating report'
        self.print_progress_bar(ppcount, ptotal, msg, prefix='Progress', suffix='')
        for element_key in config_object:
            element_object_list = config_object[element_key]
            if isinstance(element_object_list, dict):
                element_object_list = [element_object_list]
            for element_object in element_object_list:
                match = [match for match in csv_writer_dict_list if (match['Line Number'] == element_object['line_no'])]
                if (not match):
                    ns_complete_command = self.get_netscalar_full_command(config_key, element_object)
                    self.add_status_row(element_object['line_no'], config_key, element_object['attrs'][0], ns_complete_command, STATUS_INCOMPLETE_CONFIGURATION)
    unique_line_number_list = set()
    row_list = []
    for dict_row in csv_writer_dict_list:
        if (dict_row['Line Number'] not in unique_line_number_list):
            unique_line_number_list.add(dict_row['Line Number'])
            row_list.append(dict_row)
        else:
            row = [row for row in row_list if (row['Line Number'] == dict_row['Line Number'])]
            if str(dict_row['AVI Object']).startswith('Skipped'):
                continue
            if dict_row.get('AVI Object', None):
                if (str(row[0]['AVI Object']) != str(dict_row['AVI Object'])):
                    row[0]['AVI Object'] += ('__/__%s' % dict_row['AVI Object'])
    for status in STATUS_LIST:
        status_list = [row for row in row_list if (row['Status'] == status)]
        print(('%s: %s' % (status, len(status_list))))
    print('Writing Excel Sheet For Converted Configuration...')
    total_count = (total_count + len(row_list))
    if vs_level_status:
        self.vs_per_skipped_setting_for_references(avi_config)
        self.correct_vs_ref(avi_config)
    else:
        self.vs_complexity_level()
    self.write_status_report_and_pivot_table_in_xlsx(row_list, output_dir, report_name, vs_level_status)
Adds as status row in conversion status csv
:param ns_config: NS config dict
:param output_dir: output directory
:param avi_config: AVI config dict
:param report_name: name of report
:param vs_level_status: add vs level details in XL sheet
def add_complete_conv_status(self, ns_config, output_dir, avi_config, report_name, vs_level_status):
    '\n        Adds as status row in conversion status csv\n        :param ns_config: NS config dict\n        :param output_dir: output directory\n        :param avi_config: AVI config dict\n        :param report_name: name of report\n        :param vs_level_status: add vs level details in XL sheet\n        '
    global csv_writer_dict_list
    global progressbar_count
    global total_count
    print('Generating Report For Converted Configuration...')
    ptotal = len(ns_config)
    ppcount = 0
    for config_key in ns_config:
        ppcount += 1
        config_object = ns_config[config_key]
        msg = 'Generating report'
        self.print_progress_bar(ppcount, ptotal, msg, prefix='Progress', suffix=)
        for element_key in config_object:
            element_object_list = config_object[element_key]
            if isinstance(element_object_list, dict):
                element_object_list = [element_object_list]
            for element_object in element_object_list:
                match = [match for match in csv_writer_dict_list if (match['Line Number'] == element_object['line_no'])]
                if (not match):
                    ns_complete_command = self.get_netscalar_full_command(config_key, element_object)
                    self.add_status_row(element_object['line_no'], config_key, element_object['attrs'][0], ns_complete_command, STATUS_INCOMPLETE_CONFIGURATION)
    unique_line_number_list = set()
    row_list = []
    for dict_row in csv_writer_dict_list:
        if (dict_row['Line Number'] not in unique_line_number_list):
            unique_line_number_list.add(dict_row['Line Number'])
            row_list.append(dict_row)
        else:
            row = [row for row in row_list if (row['Line Number'] == dict_row['Line Number'])]
            if str(dict_row['AVI Object']).startswith('Skipped'):
                continue
            if dict_row.get('AVI Object', None):
                if (str(row[0]['AVI Object']) != str(dict_row['AVI Object'])):
                    row[0]['AVI Object'] += ('__/__%s' % dict_row['AVI Object'])
    for status in STATUS_LIST:
        status_list = [row for row in row_list if (row['Status'] == status)]
        print(('%s: %s' % (status, len(status_list))))
    print('Writing Excel Sheet For Converted Configuration...')
    total_count = (total_count + len(row_list))
    if vs_level_status:
        self.vs_per_skipped_setting_for_references(avi_config)
        self.correct_vs_ref(avi_config)
    else:
        self.vs_complexity_level()
    self.write_status_report_and_pivot_table_in_xlsx(row_list, output_dir, report_name, vs_level_status)