data sources: export detailed roles infos (#84889) #948
No reviewers
Labels
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: entrouvert/wcs#948
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/84889-ds-roles-export-import"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
6317ffc705
to9c2b41c792
9c2b41c792
toeb1ccb489e
WIP: data sources: export detailed roles infos (#84889)to data sources: export detailed roles infos (#84889)Quelques petits trucs vus au passage, plus pour ma compréhension de l’affaire, pas une demande de modifications.
@ -163,0 +165,4 @@
def import_ds_roles_from_xml(self, element, include_id=False, **kwargs):
imported_roles = self.import_roles_from_xml(element, include_id=include_id, **kwargs)
if callable(imported_roles):
Par simple curiosité de ma part, qu’est-ce qui fait qu’on a besoin de gérer explicitement le laziness ici ? Ce n’est pas automatiquement résolu lors du listcomp juste en dessous ?
le import_roles_from_xml peut retourner une liste vide [] ou une fonction (lazy_roles) qu'il faut appeler.
Ok, pigé, merci.
@ -163,0 +169,4 @@
imported_roles = imported_roles()
role_ids = [x.id for x in imported_roles]
for sub in element:
if sub.tag == 'item': # legacy support for <item>{id}</item>
Est-ce qu’on veut quand même inclure le format legacy
<item>{id}</item>
lorsqueinclude_id=False
?Oui, en fait le include_id a une définition un peu large et mouvante, sur de l'import c'est plutôt "remettre les id trouvés dans le fichier importé" que "ne pas utiliser les id du fichier importé pour trouver un objet".
Arf ok, je n’avais pas capté cette subtilité.
@ -163,0 +178,4 @@
[Contains('id', getattr(self, attribute_name, None) or [])]
):
sub = ET.SubElement(element, 'role')
sub.attrib['role-id'] = role.id # always einclude id
Coquille dans le commentaire ici.
corrigé.
eb1ccb489e
tob268bdb154