Skip to content

sbrzt/disegni-liverani

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Disegni Liverani

🇺🇸: This project automates the integration of descriptive metadata for the management of a digital archive for Liverani's drawings on WordPress via the Tainacan plugin.

🇮🇹: Questo progetto automatizza l'integrazione di metadati descrittivi per la gestione di un archivio digitale di disegni di Liverani su WordPress tramite il plugin Tainacan.

🇺🇸 English version

Overview

This system processes a collection of drawings. It combines descriptive metadata (downloaded dynamically from Pater's API) with descriptive metadata collected in a separate CSV file.

Key features

  • Pater's API interaction: Downloads JSON data related to a list of drawings from Pater and converts it into a CSV table.
  • Custom merging: Merges the CSV obtained via the API calls with another CSV generated manually and containing additional data that are not present in Pater (e.g., latitude and longitude).
  • Tainacan ready: Automatically formats column headers using a specific syntax (e.g., Title|text|status_public) for the WordPress Tainacan CSV importer.

Project structure

  • main.py: Pipeline orchestrator.
  • config.py: Centralised configuration file.
  • src/extract.py: Extraction engine that uses JSONPath.
  • src/merge.py: Script for merging one full CSV file with a selection of columns extracted from another CSV file.
  • src/prep.py: Formatting logic for Tainacan integration.

Usage

This project relies on uv for fast and reliable dependency management.

  1. Installing uv: If you haven't installed it yet, run:
curl -LsSf https://astral-sh.uv/install.sh | sh
  1. Project synchronization: Create the virtual environment and install dependencies with a single command:
uv sync
  1. Configuration: Verify directory paths and the metadata CSV file in config.py.

  2. Execution: Run the processing pipeline using uv:

uv run main.py
  1. Output: The script will generate a CSV dataset containing the data downloaded from Pater, another CSV dataset containing complete integrated data, and a third CSV dataset formatted for Tainacan import.

🇮🇹 Versione italiana

Panoramica

Questo sistema elabora una collezione di disegni. Combina i metadati descrittivi (scaricati dinamicamente dall'API di Pater) con i metadati descrittivi raccolti in un file CSV separato.

Caratteristiche principali

  • Interazione con le API di Pater: Scarica i dati in formato JSON relativi a un elenco di disegni da Pater e li converte in una tabell***a CSV.
  • Merge personalizzato: Unisce il CSV ottenuto tramite le chiamate API con un altro CSV generato manualmente contenente dati aggiuntivi non presenti su Pater (ad esempio, latitudine e longitudine).
  • Preparazione per Tainacan: Formatta automaticamente le intestazioni delle colonne con una sintassi specifica (es. Identificativo|text|status_private) per l'importatore CSV di Tainacan.

Struttura del progetto

  • main.py: Orchestratore della pipeline.
  • config.py: File di configurazione centralizzato.
  • src/extract.py: Motore di estrazione che utilizza JSONPath.
  • src/merge.py: Script per l'unione di un file CSV completo con una selezione di colonne estratte da un altro file CSV.
  • src/prep.py: Logica di formattazione per l'integrazione con Tainacan.

Uso

Questo progetto utilizza uv per una gestione rapida e affidabile delle dipendenze.

  1. Installazione di uv: Se non lo hai già, installalo con:
curl -LsSf https://astral-sh.uv/install.sh | sh
  1. Sincronizzazione progetto: Crea l'ambiente virtuale e installa le dipendenze con:
uv sync
  1. Configurazione: Verifica i percorsi delle directory e del file CSV in config.py.

  2. Esecuzione: Avvia la pipeline di elaborazione tramite uv:

uv run main.py
  1. Risultato: Il comando genererà un dataset CSV contenente i dati estratti dall'API, un altro dataset CSV contenente i dati completi e un terzo dataset CSV formattato per l'importazione automatica in Tainacan.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages