cnumr / GreenIT-Analysis-cli

Wrapper de l'extension GreenIT Analysis
GNU Affero General Public License v3.0
45 stars 18 forks source link

Export CSV #31

Open KarlPineau opened 2 years ago

KarlPineau commented 2 years ago

Bonjour,

(Merci pour l'outil déjà, super utile !)

J'utilise l'outil pour une étude sur la responsabilité numérique des musées (https://musees-responsables.karl-pineau.fr/) Mais l'export XLS est assez contraignant, notamment en sortant une feuille par site, et en étant un format très fermé :/

Est-ce possible de sortir un CSV, sans mise en forme, mais utilisable dans un algo quelconque ? Si ce n'est pas possible en tant que tel, avez-vous une idée pour obtenir des résultats plus bruts ?

Merci pour votre réponse, et merci pour l'outil !

jpreisner commented 2 years ago

Salut @KarlPineau, l'outil génère d'abord des JSON avant de créer un rapport Excel ou HTML. As-tu regardé du côté de ces rapports JSON si cela ne te conviendrait-il pas ?

KarlPineau commented 2 years ago

Hello, merci pour le retour :) Oui, je pense que ça serait très bien. Sais-tu comment y accéder ? Y a-t-il un paramètre à spécifier dans la commande Shell ?

jpreisner commented 2 years ago

Hello @KarlPineau , excuse moi pour ma réponse tardive. Les rapports JSON vont se trouver dans le répertoire results.

Tu trouveras dans ce répertoire :

Je me rends compte que :

  1. Ce n'est pas documenté
  2. Le code n'est pas super bien organisé

Je vais essayer d'améliorer ça. Je suis preneur de ton retour aussi sur l'utilisation de ces JSON. N'hésite pas à m'en faire part ;)

billux commented 1 year ago

Je suis aussi intéressé pour exploiter le rapport JSON, afin d'envoyer les métriques sur du Graphite.

J'exécute GreenIT-Analysis-cli depuis docker, et la solution de monter un volume sur /app/results ne marche pas :

$ docker run --rm -ti -e TZ=Europe/Paris --cap-add=SYS_ADMIN -v "$(pwd)/test.yaml:/app/test.yaml" -v "$(pwd)/results:/app/results" greenit-analysis greenit analyse test.yaml
Analysing ...
ERROR : 
 Error: EEXIST: file already exists, mkdir '/app/results'
    at Object.mkdirSync (node:fs:1382:3)
    at createJsonReports (/app/cli-core/analysis.js:263:8)
    at analyse_core (/app/commands/analyse.js:75:25)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  errno: -17,
  syscall: 'mkdir',
  code: 'EEXIST',
  path: '/app/results'
}

Dans https://github.com/cnumr/GreenIT-Analysis-cli/blob/master/cli-core/analysis.js#L260, il y a d'abord un rm du répertoire results (qui visiblement échoue silencieusement) et ensuite comme le répertoire n'est pas supprimé, vu que c'est un montage, le mkdir qui suit échoue.

Je ne vois pas comment je peux faire simplement pour récupérer ces rapports hors du conteneur.

Est-ce qu'il y a réellement besoin de supprimer le répertoire results pour le recréer ensuite ? Éventuellement une suppression de son contenu uniquement ne pourrait pas suffire ?