def record_metas2report(record_metas, doc_record, rec_format, id_traitement, display=True): """ une fois récupérées les métadonnées propres à chaque type de notice (grâce à la fonction record2listemetas()) on les envoie dans un fichier de résultats, par type de doc """ if (rec_format == 3): for aut in record_metas: doc_record = aut[0] if (doc_record in output_files_dict): stats[doc_record_type[doc_record]] += 1 output_files_dict[doc_record].write("\t".join(aut[1:]) + "\n") if (display): print(doc_record, ' - ', aut[1]) else: stats[doc_record_type[doc_record]] = 1 output_files_dict[doc_record] = write_reports( funcs.id_traitement2path(id_traitement), doc_record, rec_format) output_files_dict[doc_record].write("\t".join(aut[1:]) + "\n") if (display): print(doc_record, ' - ', aut[1]) elif (doc_record in output_files_dict): if (record_metas[0] not in liste_notices_pb_encodage): stats[doc_record_type[doc_record]] += 1 output_files_dict[doc_record].write("\t".join(record_metas) + "\n") if (display): print(doc_record, ' - ', record_metas[0]) else: stats[doc_record_type[doc_record]] = 1 output_files_dict[doc_record] = write_reports( funcs.id_traitement2path(id_traitement), doc_record, rec_format) output_files_dict[doc_record].write("\t".join(record_metas) + "\n") if (display): print(doc_record, ' - ', record_metas[0])
def launch(filename, type_records_form, correct_record_option, headers, AUTlieesAUT, AUTlieesSUB, AUTlieesWORK, outputID, format_records=1, format_file=1, xml_encoding_option="utf-8", select_fields="", master=None, form=None): if filename == []: main.popup_errors(form, "Merci d'indiquer un nom de fichier en entrée") raise else: filename = filename[0] try: [ filename, type_records_form, correct_record_option, headers, AUTlieesAUT, AUTlieesSUB, AUTlieesWORK, outputID, format_records, format_file, xml_encoding_option, select_fields ] = [ str(filename), int(type_records_form), int(correct_record_option), int(headers), int(AUTlieesAUT), int(AUTlieesSUB), int(AUTlieesWORK), str(outputID), int(format_records), int(format_file), str(xml_encoding_option), str(select_fields) ] except ValueError as err: print("\n\nDonnées en entrée erronées\n") print(err) AUTliees = AUTlieesAUT + AUTlieesSUB + AUTlieesWORK format_BIB = dict_format_records[format_records] outputID = funcs.id_traitement2path(outputID) type_records = "bib" if (type_records_form == 2): type_records = "aut" parametres = { "headers": headers, "type_records": type_records, "correct_record_option": correct_record_option, "type_records_form": type_records_form, "AUTliees": AUTliees, "AUTlieesAUT": AUTlieesAUT, "AUTlieesSUB": AUTlieesSUB, "AUTlieesWORK": AUTlieesWORK, "outputID": outputID, "format_records": format_records, "format_file": format_file, "xml_encoding_option": xml_encoding_option, "format_BIB": format_BIB, "select_fields": select_fields, "listeARK_BIB": [], "listeNNA_AUT": [] } files = {} main.generic_input_controls(master, filename) bib_file = file_create(type_records, parametres) files["bib_file"] = bib_file if (parametres["AUTliees"] > 0): aut_file = file_create("aut", parametres) files["aut_file"] = aut_file file2extract(filename, parametres, files, master, form) file_fin(files["bib_file"], format_file) if (AUTliees == 1): file_fin(files['aut_file'], format_file) fin_traitements(form, outputID)
def launch(filename, type_records_form, correct_record_option, headers, AUTlieesAUT, AUTlieesSUB, AUTlieesWORK, outputID, format_records=1, format_file=1, xml_encoding_option="utf-8", select_fields="", master=None, form=None): if filename == []: main.popup_errors(form, "Merci d'indiquer un nom de fichier en entrée") raise else: filename = filename[0] try: [ filename, type_records_form, correct_record_option, headers, AUTlieesAUT, AUTlieesSUB, AUTlieesWORK, outputID, format_records, format_file, xml_encoding_option, select_fields ] = [ str(filename), int(type_records_form), int(correct_record_option), int(headers), int(AUTlieesAUT), int(AUTlieesSUB), int(AUTlieesWORK), str(outputID), int(format_records), int(format_file), str(xml_encoding_option), str(select_fields) ] except ValueError as err: print("\n\nDonnées en entrée erronées\n") print(err) AUTliees = AUTlieesAUT + AUTlieesSUB + AUTlieesWORK format_BIB = dict_format_records[format_records] outputID = funcs.id_traitement2path(outputID) type_records = "bib" if (type_records_form == 2): type_records = "aut" parametres = { "type_records": type_records, "correct_record_option": correct_record_option, "type_records_form": type_records_form, "AUTliees": AUTliees, "AUTlieesAUT": AUTlieesAUT, "AUTlieesSUB": AUTlieesSUB, "AUTlieesWORK": AUTlieesWORK, "outputID": outputID, "format_records": format_records, "format_file": format_file, "xml_encoding_option": xml_encoding_option, "format_BIB": format_BIB, "select_fields": select_fields, "listeARK_BIB": [], "listeNNA_AUT": [] } main.generic_input_controls(master, filename) bib_file = file_create(type_records, parametres) parametres["bib_file"] = bib_file if (parametres["AUTliees"] > 0): aut_file = file_create("aut", parametres) parametres["aut_file"] = aut_file with open(filename, newline='\n', encoding="utf-8") as csvfile: entry_file = csv.reader(csvfile, delimiter='\t') if headers: next(entry_file, None) j = 0 for row in entry_file: if j == 0: check_nb_colonnes(row, parametres, master) extract1record(row, j, form, headers, parametres) j = j + 1 file_fin(bib_file, format_file) if (AUTliees == 1): file_fin(aut_file, format_file) fin_traitements(form, outputID)