def read_document_wellboreids_from_csv()

in src/loading_manifest/common_manifest.py [0:0]


def read_document_wellboreids_from_csv(csv_file):
    dict_full_document_boreid = dict()
    dict_document_boreid = dict()
    non_uniqdocnames = set()
    name_unique_wellbore_identifier = 'Unique Wellbore Identifier'
    name_report_file_name = 'Report File Name'
    col_unique_wellbore_identifier = 0
    col_report_file_name = 6

    (col_unique_wellbore_identifier, col_report_file_name) = \
        csv_colname_to_colindex(csv_file,
                                (name_unique_wellbore_identifier, name_report_file_name),
                                (col_unique_wellbore_identifier, col_report_file_name),
                                 encoding=None)

    with open(csv_file, mode='r') as infile:
        reader = csv.reader(infile)
        for rows in reader:
            full_doc_name = rows[col_report_file_name].strip()
            unique_wellboreid = rows[col_unique_wellbore_identifier].strip()

            temp_uniqids = set()
            if full_doc_name in dict_full_document_boreid:
                temp_uniqids = dict_full_document_boreid[full_doc_name]
            else:
                dict_full_document_boreid[full_doc_name] = temp_uniqids
            temp_uniqids.add(unique_wellboreid)

    for full_doc_name, uniqids in dict_full_document_boreid.items():
        short_doc_name = full_doc_name[full_doc_name.rfind("/") + 1:]
        short_doc_name = short_doc_name[short_doc_name.rfind("\\") + 1:]
        unique_wellboreid = set(uniqids)

        if short_doc_name not in non_uniqdocnames:
            if short_doc_name in dict_document_boreid:
                # duplicate doc name found, do not trust if the boreid is different
                if dict_document_boreid[short_doc_name] != unique_wellboreid:
                    logging.warning("Duplicate document names found in wellbore_document.csv : " + short_doc_name)
                    non_uniqdocnames.add(short_doc_name)
                    del dict_document_boreid[short_doc_name]
            else:
                dict_document_boreid[short_doc_name] = unique_wellboreid

    return dict_document_boreid