예제 #1
0
def main(args):
    """Main method."""
    collection = AugustinsMetadataCollection()
    csv_file = 'AugustinsMetadata.csv'
    collection.retrieve_metadata_from_csv(csv_file, delimiter=';')

    alignment_template = 'User:Jean-Frédéric/AlignmentRow'.encode('utf-8')

    if args.prepare_alignment:
        for key, value in collection.count_metadata_values().items():
            collection.write_dict_as_wiki(value, key, 'wiki',
                                          alignment_template)

    if args.post_process:
        mapping_fields = ['ARTSIT', 'DATE', 'MEDIUM']
        collection.retrieve_metadata_alignments(mapping_fields,
                                                alignment_template)
        mapping_methods = {}
        reader = collection.post_process_collection(mapping_methods)
        template_name = 'Commons:Musée des Augustins/Ingestion'.encode(
            'utf-8')
        front_titlefmt = ""
        variable_titlefmt = "%(ARTIST)s - %(TITLE)s"
        rear_titlefmt = " - Musée des Augustins - %(ACCESSION NUMBER)s"
        uploadBot = DataIngestionBot(reader=iter(collection.records),
                                     front_titlefmt=front_titlefmt,
                                     rear_titlefmt=rear_titlefmt,
                                     variable_titlefmt=variable_titlefmt,
                                     pagefmt=template_name)

    if args.upload:
        uploadBot.doSingle()
    elif args.dry_run:
        uploadBot.dry_run()
예제 #2
0
def main(args):
    """Main method."""
    collection = ArchivesMetadataCollection()
    csv_file = 'Metadata_ArchivesNationales5.csv'
    collection.retrieve_metadata_from_csv(csv_file, delimiter=';')
    alignment_template = 'User:Jean-Frédéric/AlignmentRow'.encode('utf-8')

    if args.prepare_alignment:
        for key, value in collection.count_metadata_values().items():
            collection.write_dict_as_wiki(value, key, 'wiki',
                                          alignment_template)

    if args.post_process:
        mapping_fields = []
        mapper = commonprocessors.retrieve_metadata_alignments(
            mapping_fields, alignment_template)
        mapping_methods = {
            'Support': commonprocessors.map_and_apply_technique(),
            'Dimensions': (commonprocessors.parse_format, {}),
            'Date': (commonprocessors.look_for_date, {}),
            'Analyse': (commonprocessors.remove_linebreaks, {}),
            'Cote du document': (commonprocessors.remove_linebreaks, {}),
            'Titre': (commonprocessors.remove_linebreaks, {})
        }

        categories_counter, categories_count_per_file = collection.post_process_collection(
            mapping_methods)
        metadata.categorisation_statistics(categories_counter,
                                           categories_count_per_file)

    template_name = 'Commons:Archives_Nationales/Ingestion'.encode('utf-8')
    front_titlefmt = ""
    variable_titlefmt = "%(Titre)s"
    rear_titlefmt = " - Archives Nationales - %(Cote du document)s"
    reader = iter(collection.records[2:])
    uploadBot = DataIngestionBot(reader=iter(reader),
                                 front_titlefmt=front_titlefmt,
                                 rear_titlefmt=rear_titlefmt,
                                 variable_titlefmt=variable_titlefmt,
                                 pagefmt=template_name,
                                 subst=True,
                                 verifyDescription=False)

    if args.upload:
        uploadBot.run()
    elif args.dry_run:
        uploadBot.dry_run()