Skip to content

Eonm/refine-io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💎 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