From c42135123fb0dcc21b56340e133860f8ee3010c0 Mon Sep 17 00:00:00 2001 From: JOUNEAU Thomas <thomas.jouneau@univ-lorraine.fr> Date: Thu, 6 Jan 2022 17:29:50 +0000 Subject: [PATCH] Replace generate_citation.py --- generate_citation.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/generate_citation.py b/generate_citation.py index bf19676..4dc3596 100644 --- a/generate_citation.py +++ b/generate_citation.py @@ -10,6 +10,13 @@ print ("# d'un export JSON Dataverse print ("# ===========================================================================#") print ("\n") +# Génération de citations selon le modèle décrit sur le site de Dataverse : +# https://dataverse.org/best-practices/data-citation + +# !!!!!!!!!! +# TODO +# - proposer différents styles de citations +# - accepter le nom de fichier comme argument en ligne de commande # ----------------------- # Imports et déclarations @@ -20,12 +27,15 @@ import os from pyDataverse.api import NativeApi, DataAccessApi from pyDataverse.models import Dataverse +# ------------------------------------- # Fonction de génération de la citation +# ------------------------------------- + def citation_generation(cit_authors,cit_title,cit_year,cit_data_repository,cit_version_number,cit_version_minor_number,cit_doi,cit_unf): cit_authors_len = len(cit_authors) cit_authors_len_test = cit_authors_len for cit_author in cit_authors: - if cit_authors_len_test == cit_authors_len : + if cit_authors_len_test == cit_authors_len : # le nom du premier auteur est suivi d'un point-virgule, les autres d'une simple virgule print(f"{cit_author}; ",end='') else: print(f"{cit_author}, ",end='') @@ -41,8 +51,10 @@ def citation_generation(cit_authors,cit_title,cit_year,cit_data_repository,cit_v print (".\n") - +# ---------------- # Fichier d'entrée +# ---------------- + filename_input = input ("Entrez le nom du fichier à traiter [export_json.json] : ") if filename_input =="": filename = "export_json.json" @@ -110,6 +122,8 @@ for doi,metadata in complete_list.items(): # if typeName == 'dateofDeposit': dateofDeposit = field['value'] + # Appel de la fonction + citation_generation(cit_authors = authors_list,cit_title=title,cit_year=dataset_yearofPublication,cit_data_repository=dataset_publisher,cit_version_number=dataset_versionNumber,cit_version_minor_number=dataset_versionMinorNumber, cit_doi=doi,cit_unf=dataset_unf) -- GitLab