Development #39440
solis rsa: récupérer les _links dans une liste de dictionnaire
Début:
31 janvier 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Actuellement rsa_get_information sait récupérer les données liées (_links) si la donnée est un dictionnaire, il faudrait que ça soit aussi le cas si la donnée reçue est une liste de dictionnaire, ce qui est le cas quand information=actions
Fichiers
Révisions associées
Historique
Mis à jour par Thomas Noël il y a plus de 4 ans
- Fichier 0001-solis-get-_links-content-for-a-list-of-dict-39440.patch 0001-solis-get-_links-content-for-a-list-of-dict-39440.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
C'est très moche mais je valide.
Je suis plus à l'aise avec du code structuré comme cela, qui sépare le boilerplate réutilisable de l'objectif.
def fmap(structure, func): if func: new_structure = func(structure) if new_structure is not None: assert isinstance(new_structure, type(structure)) structure = new_structure if isinstance(structure, list): return [fmap(elt, func) for elt in structure] elif isinstance(structure, dict): return {key: fmap(value, func) for key, value in structure.items()} else: return func(structure) def fix_links(structure, link_keys=None, base_url=None): def fix_link(link): href = link['href'] if base_url: # fix href link['content'] = .... def fix_links_key(d): if not isinstance(d, dict): return if '_links' not in d: return links = d['rsa_links'] = copy.deepcopy(d['_links']) for key in links: if not link_keys or key not in link_keys: continue fix_link(links[key]) return fmap(structure, fix_links_key)
Mis à jour par Thomas Noël il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
Benjamin Dauvergne a écrit :
C'est très moche mais je valide.
Ouaip c'est moche mais je fatigue.
commit 5db20e618f0bcb96e6da2a19786869568d150898 Author: Thomas NOEL <tnoel@entrouvert.com> Date: Fri Jan 31 12:19:57 2020 +0100 solis: get _links content for a list of dicts (#39440)
Je suis plus à l'aise avec du code structuré comme cela, qui sépare le boilerplate réutilisable de l'objectif.
Joli, merci, exercice pour un jour de pluie.
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
solis: get _links content for a list of dicts (#39440)