-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathalto4_into_TEI.py
More file actions
executable file
·81 lines (71 loc) · 3.69 KB
/
alto4_into_TEI.py
File metadata and controls
executable file
·81 lines (71 loc) · 3.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import click
import os
import errno
from functions.recuperation_donnees_SPARQL import recup_data_sparql
from functions.Transkribus_ABBYY_native import tes
from functions.recuperation_donnees_manifest import recuperation_donnees_manifest
from functions.extraction_img import extraction_image
from functions.creation_intermediaire import creation_interm
from functions.cleaned_file import clean_file
@click.command("transformation")
@click.argument("ark", type=str)
@click.argument("editeur", type=str)
@click.argument("edition", type=str)
@click.argument("url_edition", type=str)
@click.option("-st", "--segmtrans", "segmentationTranscription", help="Si on souhaite faire automatiquement la "
"segmentation et la transcription",
is_flag=True, default=False)
@click.option("-a", "--availability", type=click.Choice(['cc by', 'cc by-sa', 'cc by-nb', 'cc by-nc', 'cc by-nc-sa',
'cc by-nc-nd'], case_sensitive=False), required=True,
help="Indiquer la licence Creative Commons choisie : 'cc by', 'cc by-sa', 'cc by-nb','cc by-nc', "
"'cc by-nc-sa' ou 'cc by-nc-nd'")
@click.option("-e", "--extraction", "extraction_img", help="""rend une liste en format XML-TEI des
illustrations repérées comme Decoration par le
segmenteur""", is_flag=True, default=False)
def transformation(ark, editeur, edition, url_edition, segmentationTranscription, availability,
extraction_img):
# création des dossiers intermédiaires
creation_interm()
# récupération des images IIIF sur Gallica
infos = recuperation_donnees_manifest('https://gallica.bnf.fr/iiif/ark:/12148/' + ark + '/manifest.json/')
titre = infos[0]
annee = infos[1]
auteur = infos[2]
nom_auteur = infos[3]
id_facsimile = infos[4]
notice_cat = infos[5]
url_images = infos[6]
# récupération infos SPARQL
infos_sparql = recup_data_sparql(ark)
if infos_sparql["results"]["bindings"]:
if infos_sparql["results"]["bindings"][0].get("publication_place"):
ville_edition = infos_sparql["results"]["bindings"][0]["publication_place"]["value"]
else:
ville_edition = None
if infos_sparql["results"]["bindings"][0].get("publisher_name"):
editeur_historique = infos_sparql["results"]["bindings"][0]["publisher_name"]["value"]
else:
editeur_historique = None
if infos_sparql["results"]["bindings"][0].get("isniAuteur"):
isniauteur = infos_sparql["results"]["bindings"][0]["isniAuteur"]["value"]
else:
isniauteur = None
else:
ville_edition = None
editeur_historique = None
isniauteur = None
# récupération de chemin de fichiers ALTO en export d'eScriptorium
output = input("Entrez le chemin du dossier ALTO4 en export d'eScriptorium : ")
# récupération de chemin de fichiers ALTO en export d'eScriptorium
output_img = input("Entrez le chemin du dossier image en export d'eScriptorium : ")
# fonction de transformation
doc_final = tes(output, output_img, editeur, edition, url_edition, availability, isniauteur, editeur_historique,
ville_edition, titre, annee, auteur, nom_auteur, id_facsimile, notice_cat, ark, url_images)
# fonction de récupération de la liste des imprimeurs
if extraction_img:
extraction_image(doc_final, titre, editeur, id_facsimile, ark)
clean_file(doc_final)
else:
clean_file(doc_final)
if __name__ == "__main__":
transformation()