diff --git a/conditor-dumps/04-enrich.ini b/conditor-dumps/04-enrich.ini index 57b1ea5..e5a60f1 100644 --- a/conditor-dumps/04-enrich.ini +++ b/conditor-dumps/04-enrich.ini @@ -5,6 +5,10 @@ plugin = basics plugin = analytics +[env] +path = number2labelDR +value = fix({"01": "DR01 Ile-de-France Villejuif","02": "DR02 Paris-Centre","04": "DR04 Ile-de-France Gif-sur-Yvette","05": "DR05 Ile-de-France Meudon","16": "DR16 Paris-Normandie","06": "DR06 Centre Est","10": "DR10 Alsace","08": "DR08 Centre Limousin Poitou Charente","17": "DR17 Bretagne et Pays de la Loire","18": "DR18 Hauts-de-France","07": "DR07 Rhône Auvergne","11": "DR11 Alpes","12": "DR12 Provence et Corse","20": "DR20 Côte d'Azur","13": "DR13 Occitanie Est","14": "DR14 Occitanie Ouest","15": "DR15 Aquitaine"}) + [unpack] # Quand les RNSR ne sont pas fournis dans authors.*.affiliations.*.rnsr @@ -13,7 +17,7 @@ # Récupère les infos Loterre 2XK [assign] path = ws.loterre2xk -value = get("ApilRnsr") +value = get("ApilRnsr").castArray().map((itemApilRnsr, indice) => ({indice, itemApilRnsr, codeRNSR: itemApilRnsr})) [expand] path = ws.loterre2xk @@ -21,7 +25,7 @@ [expand/exploding] [expand/expand] -path = value +path = value.itemApilRnsr size = 100 cacheName = 04-2xk-expand @@ -30,48 +34,32 @@ timeout = 120000 noerror = true +[expand/assign] +path = value.label +value = get('value.itemApilRnsr.prefLabel@fr', 'n/a') + +path = value.labelNormalized +value = get('value.itemApilRnsr.prefLabel@fr', 'n/a').thru(item => String(item).normalize("NFKD").replace(/[\u0300-\u036f]/g, "").toUpperCase()) + +path = value.dr +value = get("value.delegationRegionale_dep").castArray().compact().map(n => env("number2labelDR")[n]) + [expand/aggregate] -# On récupère tous les null, undefined, n/a qui viennent d'ApilRnsr et des -# champs qui en découlent afin de faire un zip ultérieur et que chaque tableau -# ait autant de valeurs. - -# Récupère les informations [assign] -# Les éléments de ws.loterre2xk sont dans le même ordre que ApilRnsr, -# et il y en a autant. +path = ApilRnsr +value = get("ws.loterre2xk").castArray().map('codeRNSR') + path = ApilWsLaboIntitule -; value = get("ws.loterre2xk").castArray().filter(x => (typeof x !== 'string') ).map((item) => item["prefLabel@fr"] ?? "n/a") -value = get("ws.loterre2xk").castArray().map((item) => (item && item["prefLabel@fr"]) ?? "n/a") +value = get("ws.loterre2xk").castArray().map('label') -[assign] -# Supprime les accents et met en majuscules -path = tmp.ApilWsLaboIntitule -value = get("ApilWsLaboIntitule").castArray().filter(Boolean) \ - .map(str => str \ - .normalize("NFKD").replace(/[\u0300-\u036f]/g, "") \ - .toUpperCase() \ - ) +path = ApilWsDr +value = get("ws.loterre2xk").castArray().map('dr') -# Loterre ne renvoie pas de sigle -; [assign] -; path = ApilWsSigleLaboIntitule -; value = get("ApilWsLaboSigle").castArray().filter(Boolean) \ -; .map((sigle,i) => [ \ -; sigle, \ -; _.get(self,"tmp.ApilWsLaboIntitule")[i] \ -; ] \ -; .filter(Boolean) \ -; .join(" - ")) - -#On récupère les nouvelles infos de Loterre sur les DR, puis fait tourner une table afin d'y mettre les intitulés -[env] -path=number2labelDR -value=fix({"01": "DR01 Ile-de-France Villejuif","02": "DR02 Paris-Centre","04": "DR04 Ile-de-France Gif-sur-Yvette","05": "DR05 Ile-de-France Meudon","16": "DR16 Paris-Normandie","06": "DR06 Centre Est","10": "DR10 Alsace","08": "DR08 Centre Limousin Poitou Charente","17": "DR17 Bretagne et Pays de la Loire","18": "DR18 Hauts-de-France","07": "DR07 Rhône Auvergne","11": "DR11 Alpes","12": "DR12 Provence et Corse","20": "DR20 Côte d'Azur","13": "DR13 Occitanie Est","14": "DR14 Occitanie Ouest","15": "DR15 Aquitaine"}) - -[assign] -path=ApilWsDr -value=get("ws.loterre2xk").flatMap("delegationRegionale_dep").compact().map(n => env("number2labelDR")[n]) +[debug] +path = ApilRnsr +path = ApilWsLaboIntitule +path = ApilWsDr # Récupère les instituts du CNRS à partir des RNSR [assign]