diff --git a/affiliations-tools/v1/corporate/abreviations.py b/affiliations-tools/v1/corporate/abreviations.py index 1441d5d..e9addc4 100644 --- a/affiliations-tools/v1/corporate/abreviations.py +++ b/affiliations-tools/v1/corporate/abreviations.py @@ -1,4 +1,5 @@ import csv +import json import pickle # fonction : création du dictionnaire depuis un CSV : colonne 1 = key et colonne 2 = value @@ -14,15 +15,15 @@ return my_dict -# fonction : sauvegarde du dictionnaire dans un pickle -def save_dict_to_pickle(my_dict, my_pickel): - with open(my_pickel, 'wb') as file: - pickle.dump(my_dict, file) +# fonction : sauvegarde du dictionnaire dans un json +def save_dict_to_json(my_dict,my_json) : + with open(my_json, 'w') as fichier: + json.dump(my_dict, fichier) # appel des fonctions fichier_csv = 'abreviations.csv' resultat = transform_to_dict(fichier_csv) -fichier_pickle = 'abreviations.pickle' -save_dict_to_pickle(resultat, fichier_pickle) +fichier_json = 'abreviations.json' +save_dict_to_json(resultat, fichier_json) diff --git a/affiliations-tools/v1/corporate/private_public.py b/affiliations-tools/v1/corporate/private_public.py index 7ac6f68..3f87144 100644 --- a/affiliations-tools/v1/corporate/private_public.py +++ b/affiliations-tools/v1/corporate/private_public.py @@ -13,7 +13,7 @@ adress = affiliation_lower.replace(",", "") words = adress.split(" ") private = ["sas", "sarl", "sa", "private", "edf", "orange"] - public = ["univ", "hop", "uar", "umr","cea", "cnrs"] + public = ["univ", "hop", "uar", "umr", "cea", "cnrs"] for word in words : if word in private : return "private" @@ -21,6 +21,11 @@ return "public" return adress +# requête pour récupérer le fichier json +def request_abreviation(url): + response = requests.get(url) + return response.json() + # Normaliser les abréviations def expandAbbreviations(affiliation,dict): affiliation = affiliation.lower() @@ -99,8 +104,7 @@ def main(): - with open('abreviations.pickle', 'rb') as handle: - my_dict = pickle.load(handle) + my_dict = request_abreviation("http://mapping-tables-1.daf.intra.inist.fr/affiliations-tools-corporate.json") for line in sys.stdin: data = json.loads(line) texte = data["value"]