/refine-io

Manage OpenRefine projects

Primary LanguageRustMIT LicenseMIT

💎 RefineIO

Build Status Coverage Status dependency status made-with-Rust License: MIT

RefineIO facilite la création la transformation et l'export de projets OpenRefine

Installation

Vous pouvez installer la derniÚre version stable de refineIO depuis la page release de ce dépÎt.

Compilation et installation depuis le code source

Pour compiler refineIO vous devez avoir installé rust sur votre systÚme.

Linux

Sous Linux la compilation et l'installation de refineIO peuvent ĂȘtre rĂ©alisĂ©es grĂące au Makefile prĂ©sent dans ce dĂ©pĂŽt.

make build
sudo make install

Windows

cargo build --release

Le binaire de refineIO sera compilé dans le dossier suivant : target\release

Configuration

Par défaut refineIO utilise l'adresse 127.0.0.1:3333 pour se connecter au serveur OpenRefine. Vous pouvez changer ce comportement en ajoutant une variable d'environnement REFINE_URL à votre systÚme ou dans un fichier .env situé dans le répertoire ou est exécuté refineIO.

Sous Linux

export REFINE_URL=ADRESSE_DU_SERVEUR

Sous Windows

setx REFINE_URL "ADRESSE_DU_SERVEUR"

Dans un fichier .env (Windows et Linux)

Le contenu du fichier .env doit ĂȘtre :

REFINE_URL=ADRESSE_DU_SERVEUR

Usages

RefineIO permet de réaliser quatre grands types d'opérations avec OpenRefine :

  • la crĂ©ation de projets
  • l'application de scripts
  • l'export de projets
  • la suppression de projets
refine-io -h

Création d'un projet OpenRefine

Les projets OpenRefine peuvent ĂȘtre crĂ©Ă©s Ă  partir de plusieurs sources :

  • une URL
  • un fichier de donnĂ©es
  • des donnĂ©es passĂ©es par l'entrĂ©e standard

Les donnĂ©es d'entrĂ©e peuvent ĂȘtre au format csv, tsv, json et xml.

Import depuis un fichier --input=FICHIER

refine-io --input=playground/input.json --format=json --record-path='["_", "response", "docs", "_"]'

L'option record-path permet de prĂ©ciser la maniĂšre dont les fichiers json et xml doivent ĂȘtre analysĂ©s par OpenRefine.

Import depuis une URL --input=URL

refine-io --input="http://www.theses.fr/?q=*:*&format=json" --format=json --record-path='["_", "response", "docs", "_"]'

Seul les URLs valides et ayant un protocole (http, https, etc.) sont acceptées par refineIO.

Import depuis l'entrée standard

cat playground/input.json | refine-io --format=json --record-path='["_", "response", "docs", "_"]'

Spécifier un nom de projet --name=NOM

Par dĂ©faut le nom d'un projet correspond Ă  la date du jour au format UTC. Il est possible de spĂ©cifier le nom du projet avec l'option --name. Cette option ne peut ĂȘtre utilisĂ©e que pour la crĂ©ation d'un projet.

refine-io --input=playground/input.json --format=json --record-path='["_", "response", "docs", "_"]' --name="nom du projet"

Ouverture automatique du projet OpenRefine --open-project

AprĂšs sa crĂ©ation le projet OpenRefine peut ĂȘtre ouvert automatiquement dans le navigateur.

refine-io --input=playground/input.json --format=json --record-path='["_", "response", "docs", "_"]' --open-project

Application de scripts

Les scripts peuvent ĂȘtre appliquĂ©s sur un projet existant ou sur un projet crĂ©Ă©.

Par défaut les scripts sont appliqués de maniÚre asynchrone, c'est-à-dire que refineIO n'attendra pas qu'ils aient été entiÚrement appliqués avant de passer aux opérations suivantes comme l'export. Il est possible de forcer refineIO a appliquer les scripts de maniÚre synchrone avec l'option --sync.

AprÚs la création d'un projet --script=SCRIPT.json

refine-io --input=playground/input.json --format=json --record-path='["_", "response", "docs", "_"]' --script=playground/script.json

Sur un projet existant --script=SCRIPT.json

refine-io --project-id=123456789 --script=playground/script.json

Exporter les données d'un projet

RefineIO permet d'exporter ou d'afficher les données d'un projet OpenRefine.

Afficher les données d'un projet dans la sortie standard --print=FORMAT

Les donnĂ©es peuvent ĂȘtre affichĂ©es au format csv, tsv et html.

refine-io --project-id=123456789 --print csv
refine-io --project-id=123456789 --print csv > data.csv

Exporter les données dans un fichier --export=FORMAT

Les donnĂ©es peuvent ĂȘtre exportĂ©es au format csv, tsv, html, xsl, xsls et ods.

Si aucun nom de fichier n'est spécifié à l'export -o le fichier téléchargé portera le nom du projet OpenRefine.

refine-io --project-id=123456789 --export csv
refine-io --project-id=123456789 --export csv -o data.csv

L'option sync permet d'attendre que les scripts de modification aient été appliqués avant de télécharger ou d'afficher les données dans la console.

Ouverture automatique du fichier exporté --open-export

Les donnĂ©es exportĂ©es peuvent ĂȘtre ouvertes dans le logiciel par dĂ©faut de votre systĂšme d'exploitation.

refine-io --project-id=123456789 --export csv --open-export

Suppression du projet

Le projet OpenRefine peut ĂȘtre supprimĂ© grĂące Ă  l'option --clean. Attention cette action est irrĂ©versible. Aucune confirmation ne sera demandĂ©e par refineIO.

refine-io --project-id=123456789 --export csv --open-export

Variables d'environnement

Certaines variables d'environnement peuvent ĂȘtre utilisĂ©es pour changer le comportement de refineIO

RECORD_PATH = définit le record path à utiliser par défaut

RUST_LOG = permet de définir le niveau de log ("trace", "debug", "info", "warn" et "error"). Voir env_logger.

CHECK_ASYNC_INTERVAL = il correspond à l'intervalle (ms) de vérification des processus asynchrone d'OpenRefine. Cette variable est utilisée par l'option --sync