Archivismi: API, quando il gioco si fa duro.
[ZEUS News - www.zeusnews.it - 07-02-2024]
Questo è un articolo su più pagine: ti invitiamo a leggere la pagina iniziale
Archivismi: la preservazione della cultura
Ma non si era detto che avremmo programmato qualcosa? Verissimo, e passiamo subito alla pratica. Per partire da qualcosa di semplice e innocuo, ipotizziamo di aver trovato una serie di cose che ci interessano, per esempio parecchi numeri di una rivista, e di volerli scaricare in maniera veloce, affidabile, e che non richieda operazioni manuali ripetitive.
Per semplicità, faremo il tutto da linea comandi, senza utilizzare direttamente le API e quindi senza dover scrivere un vero programma in Python o simili; ci basterà scaricare il programma Python "ia" (internetarchive) e utilizzarlo. ia è un programma già pseudo-compilato, cioè scritto in un linguaggio intermedio detto Python bytecode, che è portabile su qualsiasi piattaforma abbia un ambiente Python 3 installato.
L'utilizzo di una versione di Linux - Debian, Ubuntu e via dicendo - è vivamente consigliato. Potete anche utilizzarlo in una macchina virtuale Virtualbox o VMWare su qualsiasi computer. Dovrebbe anche funzionare l'ambiente WSL di Windows, ma qui Cassandra non procede oltre e abbandona gli arditi che volessero cimentarsi; anzi, eventualmente aspetta da loro dei feedback a riguardo per integrare questo articolo.
Quindi torniamo con Cassandra alla sua amata Debian e installiamo e configuriamo ia con la procedura che troviamo qui. Ma anche un semplice
sudo apt install internetarchiveè sufficiente. Miracoli di Debian. In breve, su un computer dove sia installato l'ambiente Python 3, si deve scaricare dove preferiamo (oppure installare) il comando ia, renderlo eseguibile e infine lanciarlo con il parametro configure per associarlo al nostro utente (avete creato il vostro utente, vero?)
È tutto pronto; come primo esempio con il seguente comando possiamo scaricare il solo Pdf originale del nostro articolo di esempio, che avevamo caricato la scorsa puntata.
$ ./ia download cassandra-crossing-2558-il-dizionario-di-cassandra-archivismi -no-directories -format="Text PDF"
Ma se avessimo voluto scaricare tutto l'oggetto, file derivativi inclusi, avremmo potuto scrivere ancor più semplicemente
$ ./ia download cassandra-crossing-2558-il-dizionario-di-cassandra-archivismi
Avremmo così ottenuto una directory con lo stesso nome dell'identificatore dell'oggetto, contenente tutti i file da cui è formato. Lo stesso procedimento funziona anche per scaricare una intera collezione, o parti di essa. Un'altra raccomandazione: calcolate prima quanto è grande la selezione che avete fatto; su Internet Archive ci sono oggetti di dimensioni enormi.
Per avere aiuto, oltre che consultare la guida online, basta dare i comandi
$ ./ia help
$ ./ia help download
$ ./ia help upload
Terminiamo con altre raccomandazioni in ordine sparso. Se caricate nuovi oggetti, è meglio usare il metodo con foglio elettronico in formato CSV, di cui trovate un esempio qui o nella guida. In questo modo avrete sempre sotto controllo tutti i parametri insieme. Dare tutti i parametri da linea comandi può essere complesso e si possono facilmente commettere errori.
Quando creerete i vostri oggetti, inseriteli sempre nella collezione test_collection, come è mostrato anche nel foglio di esempio. I motivi li abbiamo già spiegati. Quando invece inserirete i vostri primi oggetti definitivi, non inserite tra i parametri la collection, lasciando quella di default opensource. Buona sperimentazione!
Ti invitiamo a leggere la pagina successiva di questo articolo:
Archiviamo Cassandra
Se questo articolo ti è piaciuto e vuoi rimanere sempre informato con Zeus News
ti consigliamo di iscriverti alla Newsletter gratuita.
Inoltre puoi consigliare l'articolo utilizzando uno dei pulsanti qui
sotto, inserire un commento
(anche anonimo)
o segnalare un refuso.
© RIPRODUZIONE RISERVATA |
|
Scrivere a Cassandra - Twitter - Mastodon
Videorubrica "Quattro chiacchiere con Cassandra"
Lo Slog (Static Blog) di Cassandra
L'archivio di Cassandra: scuola, formazione e pensiero
|
||
|
zeross