Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Eonm/refine-io
Manage OpenRefine projects
https://github.com/Eonm/refine-io
data-mining openrefine openrefine-api
Last synced: about 2 months ago
JSON representation
Manage OpenRefine projects
- Host: GitHub
- URL: https://github.com/Eonm/refine-io
- Owner: Eonm
- License: mit
- Created: 2020-01-05T18:52:55.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-01-31T14:16:31.000Z (almost 5 years ago)
- Last Synced: 2024-02-13T21:46:13.487Z (11 months ago)
- Topics: data-mining, openrefine, openrefine-api
- Language: Rust
- Homepage:
- Size: 65.4 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# đ RefineIO
[![Build Status](https://travis-ci.com/Eonm/refine-io.svg?branch=master)](https://travis-ci.com/Eonm/refine-io)
[![Coverage Status](https://coveralls.io/repos/github/Eonm/refine-io/badge.svg?branch=master)](https://coveralls.io/github/Eonm/refine-io?branch=master)
[![dependency status](https://deps.rs/repo/github/eonm/refine-io/status.svg)](https://deps.rs/repo/github/eonm/refine-io)
[![made-with-Rust](https://img.shields.io/badge/Made%20with-Rust-1f425f.svg)](https://www.rust-lang.org/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/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](https://github.com/Eonm/refine-io/releases) de ce dépÎt.
### Compilation et installation depuis le code source
Pour compiler refineIO vous devez avoir installé [rust](https://www.rust-lang.org/tools/install) 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.
```sh
make build
sudo make install
```__Windows__
```sh
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__
```sh
export REFINE_URL=ADRESSE_DU_SERVEUR
```__Sous Windows__
```cmd
setx REFINE_URL "ADRESSE_DU_SERVEUR"
```__Dans un fichier .env (Windows et Linux)__
Le contenu du fichier `.env` doit ĂȘtre :
```sh
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__```sh
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 standardLes donnĂ©es d'entrĂ©e peuvent ĂȘtre au format csv, tsv, json et xml.
__Import depuis un fichier__ `--input=FICHIER`
```sh
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`
```sh
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__
```sh
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.
```sh
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.
```sh
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`
```sh
refine-io --input=playground/input.json --format=json --record-path='["_", "response", "docs", "_"]' --script=playground/script.json
```__Sur un projet existant__ `--script=SCRIPT.json`
```sh
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.
```sh
refine-io --project-id=123456789 --print csv
``````sh
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.
```sh
refine-io --project-id=123456789 --export csv
``````sh
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.
```sh
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.
```sh
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](https://docs.rs/crate/).
`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`