Module plume.rdf.widgetkey#
Clés des dictionnaires de widgets.
La classe WidgetKey produit les clés des dictionnaires
de widgets (classe plume.rdf.widgetsdict.WidgetsDict
).
Dans le contexte d’un dictionnaire, ces clés forment un arbre :
à la base, la clé racine, de classe
RootKey
, est la seule qui n’ait pas de clé « parente ». Elle est référencée dans l’attribut root du dictionnaire de widgets ;toutes les autres clés descendent d’une clé parente, référencée dans leur attribut
WidgetKey.parent
. Réciproquement, les filles d’une clé sont référencées dans son attributGroupKey.children
.
La clé est porteuse de toutes les informations nécessaires
au maintien de l’intégrité du dictionnaire de widgets, au
paramétrage des widgets et à la sérialisation en graphe de
métadonnées (classe plume.rdf.metagraph.Metagraph
).
Les clés ne sont pas indépendantes les unes des autres. La création ou la modification d’une clé entraîne la modification (automatique) de son parent et parfois de ses soeurs.
- class plume.rdf.widgetkey.ChildrenList(iterable=(), /)#
Bases :
list
Liste des enfants d’une clé.
Notes
Cette classe redéfinit les méthodes append et remove des listes, pour que leur utilisation s’accompagne du calcul automatique des lignes, des enfants uniques et des langues autorisées.
Methods
append
(value)Append object to the end of the list.
clear
(/)Remove all items from list.
copy
(/)Return a shallow copy of the list.
count
(value, /)Return number of occurrences of value.
extend
(iterable, /)Extend list by appending elements from the iterable.
index
(value[, start, stop])Return first index of value.
insert
(index, object, /)Insert object before index.
pop
([index])Remove and return item at index (default last).
remove
(value)Remove first occurrence of value.
reverse
(/)Reverse IN PLACE.
sort
(*[, key, reverse])Sort the list in ascending order and return None.
- append(value)#
Append object to the end of the list.
- remove(value)#
Remove first occurrence of value.
Raises ValueError if the value is not present.
- class plume.rdf.widgetkey.GroupKey(**kwargs)#
Bases :
WidgetKey
Clé de groupe.
Une clé de groupe est une clé de dictionnaire de widgets qui pourra être désignée comme parent d’autres clés, dites « clés filles ».
Outre ses attributs propres listés ci-après,
GroupKey
hérite de tous les attributs et propriétés de la classeWidgetKey
.- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
, sauf dans le cas d’un objet de la classeRootKey
(groupe racine).- is_ghostbool, default False
True
si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme.- order_idxtuple of int, default (999,)
Indice(s) permettant le classement de la clé parmi ses soeurs dans un groupe de propriétés. Les clés de plus petits indices seront les premières. Cet argument sera ignoré si le groupe parent est un groupe de valeurs (
GroupOfvaluesKey
).
Avertissement
Cette classe ne doit pas être utilisée directement pour créer de nouvelles clés. On préfèrera toujours les classes filles qui héritent de ses méthodes et attributs :
RootKey
pour la clé racine d’un arbre de clés.GroupOfPropertiesKey
pour les groupes de propriétés.GroupOfValuesKey
pour les groupes de valeurs.TranslationGroupKey
pour les groupes de traduction.TabKey
pour les onglets.
- Attributes:
- childrenlist of WidgetKey
Liste des clés filles.
Methods
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
Actualise les indices de ligne des filles du groupe.
copy
([parent, empty])Renvoie une copie de la clé.
is_empty
(**kwargs)Le groupe est-il vide ?
kill
()Efface une clé de la mémoire de son parent.
real_children
([reverse])Générateur sur les clés filles qui ne sont pas des fantômes (ni des boutons).
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
search_tab
([label])Cherche parmi les filles du groupe et renvoie l'onglet d'étiquette donnée.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
compute_single_children
- property columnspan#
int: Nombre de colonnes de la grille occupées par le widget principal de la clé.
Vaut toujours
0
pour une clé fantôme.Notes
Réécriture de la propriété
WidgetKey.columnspan
.
- compute_rows()#
Actualise les indices de ligne des filles du groupe.
Cette méthode n’a pas d’effet dans un groupe fantôme, ou si l’attribut de classe
WidgetKey.no_computation
vautTrue
.- Returns:
- int
L’indice de la prochaine ligne disponible.
Notes
Hormis dans les groupes de valeurs, où elle respecte l’ordre d’initialisation des clés filles, la méthode trie la liste
GroupKey.children
en fonction de l’attributWidgetKey.order_idx
. Les indices des clés sont définis par leur ordre dans la liste et les valeurs deWidgetKey.rowspan
des clés qui les précèdent.
- compute_single_children()#
- copy(parent=None, empty=True)#
Renvoie une copie de la clé.
La branche descendante est également dupliquée.
- Parameters:
- parentGroupKey, optional
La clé parente. Si elle n’est pas spécifiée, il sera considéré que le parent de la copie est le même que celui de l’original.
- emptybool, default True
Crée-t-on une copie vide (cas d’un nouvel enregistrement dans un groupe de valeurs ou de traduction) -
True
- ou souhaite-t-on dupliquer une branche de l’arbre de clés en préservant son contenu -False
?
- Returns:
- GroupKey
- Raises:
- ForbiddenOperation
Lorsque la méthode est explicitement appliquée à une clé fantôme. Il est possible de copier des branches contenant des fantômes, ceux-ci ne seront simplement pas copiés.
Notes
Redéfinit la méthode
WidgetKey.copy()
en gérant la copie des filles de la clé.
- property has_real_children#
bool: Y a-t-il au moins un enfant dans ce groupe qui ne soit pas un fantôme ?
- is_empty(**kwargs)#
Le groupe est-il vide ?
Un groupe est considéré comme vide quand il ne contient que des groupes vides ou des clés-valeurs sans valeur. Les fantômes sont pris en compte.
Voir aussi
Notes
Cette méthode admet des paramètres arbitraires pour qu’elle puisse être appelée dans les mêmes conditions que les méthodes de même nom définies sur d’autres classes de clés. En pratique, elle n’en utilise aucun.
- real_children(reverse=False)#
Générateur sur les clés filles qui ne sont pas des fantômes (ni des boutons).
- Parameters:
- reversebool, default False
Prend les derniers enfants en premier.
- Yields:
- ValueKey or GroupKey
- search_tab(label=None)#
Cherche parmi les filles du groupe et renvoie l’onglet d’étiquette donnée.
- Parameters:
- labelstr or rdflib.term.Literal, optional
L’étiquette de l’onglet recherché. Si label n’est pas spécifié, le premier onglet du groupe est renvoyé (sous réserve qu’il y en ait un).
- Returns:
- TabKey
Notes
Les clés fantômes sont exclues de la recherche. Si plusieurs onglets s’avérait porter le même nom, l’un est renvoyé arbitrairement.
- class plume.rdf.widgetkey.GroupOfPropertiesKey(**kwargs)#
-
Groupe de propriétés.
Un groupe de propriétés est une clé de dictionnaire de widgets qui représente un couple prédicat / noeud anonyme. Ses filles représentent les triplets dont le noeud anonyme est le sujet.
Outre ses attributs propres listés ci-après, la classe
GroupOfPropertiesKey
hérite de tous les attributs et méthodes des classesGroupKey
etObjectKey
.- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
.- is_ghostbool, default False
True
si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme.- order_idxtuple of int, default (999,)
Indice(s) permettant le classement de la clé parmi ses soeurs dans un groupe de propriétés. Les clés de plus petits indices seront les premières. Cet argument sera ignoré si le groupe parent est un groupe de valeurs (
GroupOfvaluesKey
).- predicaterdflib.term.URIRef
Prédicat représenté par la clé. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information. Sinon, elle est obligatoire. Pour des clés jumelles, le prédicat déclaré sur la jumelle de référence prévaut, sauf s’il vaut
None
.- labelstr or rdflib.term.Literal, optional
Etiquette de la clé (libellé de la catégorie de métadonnée représentée par la clé). Cet argument est ignoré si la clé appartient à un groupe de valeurs. Pour des clés jumelles, l’étiquette déclarée sur la jumelle de référence prévaut, sauf si elle vaut
None
.- descriptionstr or rdflib.term.Literal, optional
Définition de la catégorie de métadonnée représentée par la clé. Cet argument est ignoré si la clé appartient à un groupe de valeurs. Pour des clés jumelles, le descriptif déclaré sur la jumelle de référence prévaut, sauf s’il vaut
None
.- m_twinValueKey, optional
Clé jumelle, le cas échéant. Un couple de jumelle ne se déclare qu’une fois, sur la seconde clé créée.
- is_hidden_mbool, default False
La clé est-elle la clé masquée du couple de jumelles ? Ce paramètre n’est pris en compte que pour une clé qui a une jumelle.
- nodeBNode, optional
Le noeud anonyme objet du prédicat, qui est également le sujet des triplets des enfants du groupe. Si non fourni, un nouveau noeud anonyme est généré.
- rdfclassrdflib.term.URIRef
La classe RDF du noeud. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information. Sinon, elle est obligatoire.
- Attributes:
attr_to_copy
dict: Attributs de la classe à prendre en compte pour la copie des clés.
attr_to_update
list(str) : Liste des attributs et propriétés pouvant être redéfinis post initialisation.
columnspan
int: Nombre de colonnes de la grille occupées par le widget principal de la clé.
compute_button_placement
tuple(int): Placement du bouton de calcul dans la grille, le cas échéant.
delayed
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
description
str: Descriptif de la métadonnée représentée par la clé.
generation
int: Génération à laquelle appartient la clé.
geo_button_placement
tuple(int): Placement du bouton d’aide à la saisie des géométries dans la grille, le cas échéant.
has_compute_button
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
has_geo_button
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
has_label
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
has_language_button
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
has_minus_button
bool: Un bouton moins est-il associé à la clé ?
has_real_children
bool: Y a-t-il au moins un enfant dans ce groupe qui ne soit pas un fantôme ?
has_source_button
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
has_unit_button
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
independant_label
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
is_ghost
bool: La clé est-elle une clé fantôme non matérialisée ?
is_hidden
bool: La clé est-elle masquée ?
is_hidden_b
bool: La clé est-elle un bouton masqué ?
is_hidden_m
bool: La clé appartient-elle à une branche masquée ?
is_main_twin
bool: La clé est-elle la jumelle référente du couple ?
is_read_only
bool: La clé est-elle en lecture seule ?
is_single_child
bool: La clé est-elle un enfant unique ?
key_object
str: Transcription littérale du type de clé.
label
str: Etiquette de la clé.
label_placement
tuple(int): Placement de l’étiquette dans la grille, le cas échéant.
language_button_placement
tuple(int): Placement du bouton de sélection de la langue dans la grille, le cas échéant.
m_twin
ObjectKey: Clé jumelle.
main_language
Langue principale de saisie des métadonnées.
minus_button_placement
tuple(int): Placement du bouton moins dans la grille, le cas échéant.
node
rdflib.term.BNode: Le noeud anonyme objet du prédicat et sujet des filles du groupe.
order_idx
tuple(int): Indice de classement de la clé parmi ses soeurs.
parent
GroupKey: Clé parente.
path
rdflib.paths.SequencePath: Chemin représenté par la clé.
placement
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
predicate
rdflib.term.URIRef: Prédicat représenté par la clé.
rdfclass
rdflib.term.URIRef: La classe RDF du noeud.
row
int: Ligne de la clé dans la grille.
rowspan
int: Nombre de lignes de la grille occupées par la clé.
source_button_placement
tuple(int): Placement du bouton de sélection de la source dans la grille, le cas échéant.
sources
list(rdflib.term.URIRef): Le cas échéant, la liste des sources de la clé-valeur jumelle.
tree_idx
tuple: Représentation du placement de la clé dans l’arbre.
unit_button_placement
tuple(int): Placement du bouton de sélection de l’unité dans la grille, le cas échéant.
Methods
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
compute_rows
()Actualise les indices de ligne des filles du groupe.
copy
([parent, empty])Renvoie une copie de la clé.
drop
([append_book, drop_single_children])Supprime une clé-objet.
is_empty
(**kwargs)Le groupe est-il vide ?
kill
(**kwargs)Efface une clé de la mémoire de son parent.
paste_from_rdfclass
(widgetkey)Remplace la branche par une branche de même type.
real_children
([reverse])Générateur sur les clés filles qui ne sont pas des fantômes (ni des boutons).
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
search_tab
([label])Cherche parmi les filles du groupe et renvoie l'onglet d'étiquette donnée.
switch_twin
([value_source, append_book])Intervertit la visibilité d'un couple de jumelles.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
compute_single_children
- property attr_to_copy#
dict: Attributs de la classe à prendre en compte pour la copie des clés.
Cette propriété est un dictionnaire dont les clés sont les noms des attributs contenant les informations nécessaires pour dupliquer la clé, et les valeurs sont des booléens qui indiquent si l’attribut est à prendre en compte lorsqu’il s’agit de créer une copie vide de la clé.
Certains attributs sont volontairement exclus de cette liste, car ils requièrent un traitement spécifique.
Voir aussi
Notes
Réécriture de la propriété
WidgetKey.attr_to_copy
.
- property attr_to_update#
list(str) : Liste des attributs et propriétés pouvant être redéfinis post initialisation.
Notes
Réécriture de la propriété
WidgetKey.attr_to_update
.
- copy(parent=None, empty=True)#
Renvoie une copie de la clé.
La branche descendante est également dupliquée, ainsi que la clé jumelle, le cas échéant.
- Parameters:
- parentGroupKey, optional
La clé parente. Si elle n’est pas spécifiée, il sera considéré que le parent de la copie est le même que celui de l’original.
- emptybool, default True
Crée-t-on une copie vide (cas d’un nouvel enregistrement dans un groupe de valeurs ou de traduction) -
True
- ou souhaite-t-on dupliquer une branche de l’arbre de clés en préservant son contenu -False
?
- Returns:
- WidgetKey
- Raises:
- ForbiddenOperation
Lorsque la méthode est explicitement appliquée à une clé fantôme. Il est possible de copier des branches contenant des fantômes, ceux-ci ne seront simplement pas copiés.
- property has_source_button#
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
Notes
Réécriture de la propriété
WidgetKey.has_source_button
.
- property is_ghost#
bool: La clé est-elle une clé fantôme non matérialisée ?
Notes
Réécriture de la propriété
WidgetKey.is_ghost
.Cette propriété n’est modifiable post initialisation que pour transformer en fantôme une clé qui ne l’était pas, si les conditions suivantes sont réunies : * le groupe de propriétés a au moins un enfant ; * tous les enfants du groupe sont des fantômes ; * la clé n’a pas de jumelle ou est la jumelle principale.
Dans ce cas, la clé-valeur jumelle sera supprimée.
is_ghost
définit la valeur booléenne de la clé :bool(widgetkey)
vautFalse
siwidgetkey
est une clé fantôme.
- property key_object#
str: Transcription littérale du type de clé.
- kill(**kwargs)#
Efface une clé de la mémoire de son parent.
Notes
Cette méthode réoriente simplement la commande vers la méthode
ObjectKey.kill()
de la classeObjectKey
(sinon c’estWidgetKey.kill()
qui serait utilisée).
- property node#
rdflib.term.BNode: Le noeud anonyme objet du prédicat et sujet des filles du groupe.
Avertissement
Aucun contrôle n’est réalisé pour vérifier que le nouveau noeud anonyme n’est pas déjà utilisé par une autre clé. En cas de doute sur l’unicité des valeurs disponibles, il est préférable de ne pas en donner, un nouveau noeud anonyme est alors automatiquement généré (idem si la valeur fournie n’était pas véritablement un noeud anonyme).
- paste_from_rdfclass(widgetkey)#
Remplace la branche par une branche de même type.
Cette méthode n’a pas d’effet si elle est appliquée à une clé fantôme ou masquée.
- Parameters:
- widgetkeyGroupOfPropertiesKey
La clé mère de la branche à copier.
- Returns:
- plume.rdf.actionsbook.ActionsBook
Le carnet d’actions qui permettra de matérialiser les opérations réalisées.
- Raises:
- ForbiddenOperation
Si la clé à copier est un fantôme, est masquée, n’est pas un groupe de propriétés, ou si sa classe RDF n’est pas celle de self.
- property rdfclass#
rdflib.term.URIRef: La classe RDF du noeud.
- Raises:
- MissingParameter
Pour toute tentative de mettre à
None
la valeur de cette propriété obligatoire.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Si la clé a une jumelle dont la classe est différente de la valeur fournie, c’est celle de la jumelle de référence qui prévaudra, sauf si elle vaut
None
. Autrement dit, pour changer la classe d’un couple de jumelles, il faut cibler la jumelle de référence, sans quoi l’opération n’aura pas d’effet.
- property sources#
list(rdflib.term.URIRef): Le cas échéant, la liste des sources de la clé-valeur jumelle.
Notes
Cette propriété n’est pas modifiable. Elle vaut toujours
None
pour une clé sans jumelle.
- class plume.rdf.widgetkey.GroupOfValuesKey(**kwargs)#
Bases :
GroupKey
Groupe de valeurs.
Un groupe de valeurs est une clé de groupe dont les filles, qui peuvent être des
GroupOfPropertiesKey
ou desValueKey
, ont le même prédicat.Outre ses attributs spécifiques listés ci-après, la classe
GroupOfValuesKey
hérite de tous les attributs de la classeGroupKey
.- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
.- is_ghostbool, default False
True
si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme.- order_idxtuple of int, default (999,)
Indice(s) permettant le classement de la clé parmi ses soeurs dans un groupe de propriétés. Les clés de plus petits indices seront les premières.
- with_minus_buttonsbool, default True
True
si des boutons moins (non représentés par des clés) sont supposés être associés aux clés du groupe.- predicaterdflib.term.URIRef
Le prédicat commun à toutes les clés du groupe.
- labelstr or rdflib.term.Literal, optional
Etiquette du groupe (libellé de la catégorie de métadonnée dont les filles du groupe sont les valeurs).
- descriptionstr or rdflib.term.Literal, optional
Définition de la catégorie de métadonnée représentée par les clés du groupe.
- rdfclassrdflib.term.URIRef, optional
La classe RDF commune à toutes les valeurs du groupe. Cette information est obligatoire dès lors qu’une des filles du groupe est de type
GroupOfPropertiesKey
.- sourceslist of rdflib.term.URIRef, optional
Liste des sources de vocabulaire contrôlé pour les valeurs du groupe.
- transform{None, “email”, “phone”}, optional
Le cas échéant, la nature de la transformation appliquée aux objets du groupe.
- datatyperdflib.term.URIRef, default xsd:string
Le cas échéant, le type des valeurs litérales du groupe. La valeur de ce paramètre est ignorée si
GroupOfValuesKey.rdfclass
est renseigné, sinonxsd:string
fait office de valeur par défaut. Seuls les types suivants sont pris en charge, pour les autresxsd:string
serait utilisé à la place :xsd:string
,xsd:integer
,xsd:decimal
,xsd:boolean
,xsd:date
,xsd:time
,xsd:dateTime
,xsd:duration
,gsp:wktLiteral
,rdf:langString
.- placeholderstr or rdflib.term.Literal, optional
Texte de substitution à utiliser pour les clés du groupe.
- input_maskstr or rdflib.term.Literal, optional
Masque de saisie à utiliser pour les clés du groupe.
- is_mandatorybool or rdflib.term.Literal, default False
Ce groupe doit-il obligatoirement avoir une clé avec une valeur ?
- is_read_onlybool or rdflib.term.Literal, default False
Les valeurs des clés du groupe sont-elles en lecture seule ?
- regex_validatorstr, optional
Expression rationnelle de validation à utiliser pour les clés du groupe.
- regex_validator_flagsstr, optional
Paramètres associés à l’expression rationnelle de validation des clés du groupe.
- geo_toolslist(str or rdflib.term.Literal)
Liste de fonctionnalités d’aide à la saisie des géométries disponibles pour les clés du groupe. Seules les valeurs suivantes seront prises en compte :
'show'
,'point'
,'linestring'
,'rectangle'
,'polygon'
,circle
,'bbox'
,'centroid'
.- computelist(str or rdflib.term.Literal), optional
Liste de modes de calcul disponibles pour le groupe. Seules les valeurs “manual”, “auto”, “empty” et “new” sont reconnues à ce stade.
- compute_paramsdict, optional
Paramètres à fournir à la méthode de calcul.
- Attributes:
- buttonPlusButtonKey
Référence la clé qui représente le bouton plus du groupe.
Methods
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
Actualise les indices de ligne des filles du groupe.
Détermine si les clés du groupe sont des filles uniques.
copy
([parent, empty])Renvoie une copie de la clé.
is_empty
([sources])Le groupe est-il vide ?
kill
()Efface une clé de la mémoire de son parent.
real_children
([reverse])Générateur sur les clés filles qui ne sont pas des fantômes (ni des boutons).
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
search_tab
([label])Cherche parmi les filles du groupe et renvoie l'onglet d'étiquette donnée.
shrink_expend
(length[, sources])Prépare les clés filles du groupe en vue d'une saisie massive des valeurs.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
- property attr_to_copy#
dict: Attributs de la classe à prendre en compte pour la copie des clés.
Cette propriété est un dictionnaire dont les clés sont les noms des attributs contenant les informations nécessaires pour dupliquer la clé, et les valeurs sont des booléens qui indiquent si l’attribut est à prendre en compte lorsqu’il s’agit de créer une copie vide de la clé.
Certains attributs sont volontairement exclus de cette liste, car ils requièrent un traitement spécifique.
Voir aussi
Notes
Réécriture de la propriété
WidgetKey.attr_to_copy
.
- property attr_to_update#
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
Notes
Réécriture de la propriété
WidgetKey.attr_to_update
.
- property compute#
list(str): Modes de calcul définis pour la clé.
Notes
Contrairement à beaucoup d’autre propriétés qui valent pour les clés du groupe et non pour le groupe lui-même, celle-ci porte bien sur le groupe de valeurs.
Il est permis de fournir en argument une liste de
rdflib.term.Literal
, qui seront alors automatiquement convertis.
- property compute_params#
dict: Paramètres à fournir à la méthode de calcul.
Notes
Contrairement à beaucoup d’autre propriétés qui valent pour les clés du groupe et non pour le groupe lui-même, celle-ci porte bien sur le groupe de valeurs.
Les paramètres sont fournis sous la forme clé/valeur, où la clé est une chaîne de caractères correspondant au nom du paramètre.
- compute_rows()#
Actualise les indices de ligne des filles du groupe.
Cette méthode n’a pas d’effet dans un groupe fantôme, ou si l’attribut de classe
WidgetKey.no_computation
vautTrue
.- Returns:
- int
L’indice de la prochaine ligne disponible.
- compute_single_children()#
Détermine si les clés du groupe sont des filles uniques.
Cette méthode n’a pas d’effet dans un groupe fantôme, ou si l’attribut de classe
WidgetKey.no_computation
vautTrue
.
- copy(parent=None, empty=True)#
Renvoie une copie de la clé.
La branche descendante est également dupliquée, ainsi que le bouton du groupe, le cas échéant.
- Parameters:
- parentGroupKey, optional
La clé parente. Si elle n’est pas spécifiée, il sera considéré que le parent de la copie est le même que celui de l’original.
- emptybool, default True
Crée-t-on une copie vide (cas d’un nouvel enregistrement dans un groupe de valeurs ou de traduction) -
True
- ou souhaite-t-on dupliquer une branche de l’arbre de clés en préservant son contenu -False
?
- Returns:
- WidgetKey
- Raises:
- ForbiddenOperation
Lorsque la méthode est explicitement appliquée à une clé fantôme. Il est possible de copier des branches contenant des fantômes, ceux-ci ne seront simplement pas copiés.
- property datatype#
rdflib.term.URIRef: Type de valeur commun aux valeurs du groupe, le cas échéant.
Notes
GroupOfValuesKey.rdfclass
prévaut surGroupOfValuesKey.datatype
: si le premier est renseigné, c’est que la valeur est un IRI ou un noeud anonyme, et le second ne peut qu’être nul. Sinon,xsd:string
est utilisé comme valeur par défaut.Seuls les types suivants sont pris en charge, pour les autres
xsd:string
serait utilisé à la place :xsd:string
,xsd:integer
,xsd:decimal
,xsd:boolean
,xsd:date
,xsd:time
,xsd:dateTime
,xsd:duration
,gsp:wktLiteral
,rdf:langString
.Modifier cette propriété emporte la mise en cohérence de
GroupOfValuesKey.geo_tools
, ainsi que des propriétésValueKey.value_language
,ValueKey.is_long_text
etValueKey.value_unit
pour toutes les clés-valeurs du groupe.
- property description#
str: Descriptif de la métadonnée représentée par les clés du groupe.
Notes
Lorsqu’il n’y a ni étiquette, ni descriptif mémorisé, cette propriété renvoie le chemin - py:attr:GroupOfValuesKey.path.
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- property geo_tools#
list(str): Fonctionnalités d’aide à la saisie des géométries disponibles pour les clés-valeurs du groupe.
Notes
Il n’est pas interdit de définir une valeur pour cette propriété lorsque le groupe de valeurs ne contient que des groupes de propriétés, mais cela ne présente aucun intérêt.
Cette propriété vaudra toujours
None
siGroupOfValues.datatype
n’est pasgsp:wktLiteral
. Pour le typegsp:wktLiteral
, il s’agira toujours d’une liste, quitte à ce qu’elle soit vide.Seules les valeurs suivantes sont acceptées (les autres seront silencieusement éliminées) :
'show'
,'point'
,'linestring'
,'rectangle'
,'polygon'
,'circle'
,'bbox'
,'centroid'
.Lorsque la clé est en lecture seule, soit quand la propriété
GroupOfValuesKey.is_read_only
vautTrue
, la liste contiendra au plus “show”. C’est le getter de la propriété qui génère à la volée une liste tronquée à partir de la liste mémorisée, afin de préserver toutes les valeurs pour le cas oùGroupOfValuesKey.is_read_only
reviendrait àFalse
.Il est permis de fournir en argument une liste de
rdflib.term.Literal
, qui seront alors automatiquement convertis.
- property has_compute_button#
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
Notes
Réécriture de la propriété
WidgetKey.has_compute_button
.Contrairement à beaucoup d’autre propriétés qui valent pour les clés du groupe et non pour le groupe lui-même, celle-ci porte bien sur le groupe de valeurs.
- property input_mask#
str: Masque de saisie à utiliser pour les clés-valeurs du groupe.
Notes
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.Il n’est pas interdit de définir une valeur pour cette propriété lorsque le groupe de valeurs ne contient que des groupes de propriétés, mais cela ne présente aucun intérêt.
- is_empty(sources=None)#
Le groupe est-il vide ?
Un groupe est considéré comme vide quand il ne contient que des groupes vides ou des clés-valeurs sans valeur. Les fantômes sont pris en compte.
- Parameters:
- sourceslist
Une liste de sources à prendre en compte. Si ce paramètre est renseigné, toutes les clés-valeurs dont la source ne fait pas partie de la liste seront ignorées, de même que les groupes de propriétés.
Notes
Réécriture de la méthode
GroupKey.is_empty()
.
- property is_ghost#
bool: La clé est-elle une clé fantôme non matérialisée ?
Notes
Réécriture de la propriété
WidgetKey.is_ghost
.Cette propriété n’est modifiable post initialisation que pour transformer en fantôme une clé qui ne l’était pas, si les conditions suivantes sont réunies : * la clé n’est pas un groupe de traduction ; * le groupe de valeurs a au moins un enfant ; * tous les enfants du groupe sont des fantômes ; * le groupe n’a pas de bouton plus.
is_ghost
définit la valeur booléenne de la clé :bool(widgetkey)
vautFalse
siwidgetkey
est une clé fantôme.
- property is_mandatory#
bool: Au moins une clé-valeur du groupe devra-t-elle obligatoirement recevoir une valeur ?
Notes
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.Il n’est pas interdit de définir une valeur pour cette propriété lorsque le groupe de valeurs ne contient que des groupes de propriétés, mais cela ne présente aucun intérêt.
- property is_read_only#
bool: Les valeurs des clés-valeurs du groupe sont-elles en lecture seule ?
Notes
Si la clé appartient à un groupe de propriétés, elle sera considérée comme étant en lecture seule si le groupe parent est en lecture seule ou si la clé elle-même est paramétrée comme telle.
Un bouton plus dans un groupe de valeurs en lecture seule sera toujours masqué.
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- property key_object#
str: Transcription littérale du type de clé.
- property label#
str: Etiquette du groupe.
Il s’agit du libellé de la métadonnée représentée par les clés du groupe.
Notes
Si aucune étiquette n’est mémorisée, la propriété renvoie
'???'`
plutôt queNone
.Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- property node#
rdflib.term.URIRef or rdflib.term.BNode: Noeud sujet des filles du groupe.
Identique à celui du groupe parent.
- property path#
rdflib.paths.SequencePath: Chemin commun à toutes les clés du groupe.
Notes
Cette propriété est en lecture seule. Elle est calculée dynamiquement à partir du chemin du parent et de la valeur de l’attribut
GroupOfValuesKey.predicate
.
- property placeholder#
str: Texte de substitution à utiliser pour les clés-valeurs du groupe.
Notes
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.Il n’est pas interdit de définir une valeur pour cette propriété lorsque le groupe de valeurs ne contient que des groupes de propriétés, mais cela ne présente aucun intérêt.
- property predicate#
rdflib.term.URIRef: Prédicat commun à toutes les clés du groupe.
- Raises:
- MissingParameter
Pour toute tentative de mettre à
None
la valeur de cette propriété obligatoire.
- property rdfclass#
rdflib.term.URIRef: Classe RDF commune à toutes les valeurs du groupe.
- Raises:
- MissingParameter
Pour toute tentative de mettre à
None
la valeur de cette propriété alors qu’il y a au moins un groupe de propriétés (représentant un noeud anonyme, qui doit avoir une classe associée) parmi les enfants du groupe.
Notes
Modifier cette propriété emporte la mise en cohérence de
GroupOfValuesKey.datatype
.
- property regex_validator#
str: Expression rationnelle de validation à utiliser pour les clés-valeurs du groupe.
Notes
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.Il n’est pas interdit de définir une valeur pour cette propriété lorsque le groupe de valeurs ne contient que des groupes de propriétés, mais cela ne présente aucun intérêt.
Modifier cette propriété emporte la mise en cohérence de la propriété
GroupOfValuesKey.regex_validator_flags
.
- property regex_validator_flags#
str: Paramètres associés à l’expression rationnelle de validation des clés-valeurs du groupe.
Notes
Toute tentative pour définir une valeur pour cette propriété alors que
GroupOfValuesKey.regex_validator
vautNone
sera silencieusement ignorée.Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.Il n’est pas interdit de définir une valeur pour cette propriété lorsque le groupe de valeurs ne contient que des groupes de propriétés, mais cela ne présente aucun intérêt.
- shrink_expend(length, sources=None)#
Prépare les clés filles du groupe en vue d’une saisie massive des valeurs.
Cette méthode retire les valeurs des clés et, selon le nombre de clés demandées, supprime les clés excédentaires ou crée celles qui manquent.
- Parameters:
- lengthint
Nombre de clés attendues. Si length est inférieur à
1
, il sera considéré qu’il vaut1
.- sourceslist(rdflib.term.URIRef), optional
Liste de sources de vocabulaire contrôlé concernées. Si des sources sont définies pour le groupe, les clés-valeurs dont la source courante fait partie de cette liste seront supprimées-recrées, tandis que les autres seront préservées (incluant les groupes de propriétés qui sont la jumelle principale, même si la source courante de la clé-valeur associée est dans la liste). Si ce paramètres est
None
, toutes les clés (clés-valeurs et groupes de propriétés) seront remplacées, quelle que soit leur source. Si ce paramètre est une liste vide, toutes les clés existantes sont préservées.
- Returns:
- list(ValueKey)
Une liste de longueur length contenant les clés-valeurs prêtes à recevoir de nouvelles valeurs.
Notes
Cette méthode renvoie une liste vide si elle est appliquée à un groupe de valeurs sans bouton, sauf si celui-ci avait au moins une clé-fille (ce qui est normalement toujours le cas, de tels groupes sont toujours créés parce qu’il y a plusieurs valeurs). Dans ce cas, la méthode se comporte comme avec un groupe de traduction, et permet l’insertion d’une et une seule valeur.
- property sources#
list(rdflib.term.URIRef): Liste des sources de vocabulaire contrôlé commune à toutes les valeurs du groupe.
Notes
Modifier cette propriété emporte la mise en cohérence de la propriété
ValueKey.value_source
pour toutes les clés-valeurs du groupe.
- property transform#
{None, “email”, “phone”}: Nature de la transformation appliquée aux clés-valeurs du groupe.
Notes
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties. Toute tentative pour définir une transformation autre que celles listées ci-avant sera silencieusement ignorée.Il n’est pas interdit de définir une valeur pour cette propriété lorsque le groupe de valeurs ne contient que des groupes de propriétés, mais cela ne présente aucun intérêt.
- property with_minus_buttons#
bool: Les filles du groupe sont-elles accompagnées de boutons moins ?
Notes
Cette propriété vaudra toujours
False
pour un groupe fantôme.
- class plume.rdf.widgetkey.ObjectKey(**kwargs)#
Bases :
WidgetKey
Clé-objet.
Une clé-objet est une clé de dictionnaire de widgets représentant un couple prédicat/objet d’un graphe RDF. Le sujet du triplet est alors sa clé parente.
Outre ses propriétés propres listées ci-après,
ObjectKey
hérite des attributs et méthodes de la classeWidgetKey
.- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
.- is_ghostbool, default False
True
si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme.- order_idxtuple of int, default (999,)
Indice(s) permettant le classement de la clé parmi ses soeurs dans un groupe de propriétés. Les clés de plus petits indices seront les premières. Cet argument sera ignoré si le groupe parent est un groupe de valeurs (
GroupOfvaluesKey
).- predicaterdflib.term.URIRef
Prédicat représenté par la clé. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information. Sinon, elle est obligatoire. Pour des clés jumelles, le prédicat déclaré sur la jumelle de référence prévaut, sauf s’il vaut
None
.- labelstr or rdflib.term.Literal, optional
Etiquette de la clé (libellé de la catégorie de métadonnée représentée par la clé). Cet argument est ignoré si la clé appartient à un groupe de valeurs. Pour des clés jumelles, l’étiquette déclarée sur la jumelle de référence prévaut.
- descriptionstr or rdflib.term.Literal, optional
Définition de la catégorie de métadonnée représentée par la clé. Cet argument est ignoré si la clé appartient à un groupe de valeurs. Pour des clés jumelles, le descriptif déclaré sur la jumelle de référence prévaut.
- m_twinObjectKey, optional
Clé jumelle, le cas échéant. Un couple de jumelle ne se déclare qu’une fois, sur la seconde clé créée.
- is_hidden_mbool, default False
La clé est-elle la clé masquée du couple de jumelles ? Ce paramètre n’est pris en compte que pour une clé qui a une jumelle.
- is_read_onlybool or rdflib.term.Literal, default False
La clé est-elle en lecture seule ? Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information. Une clé appartenant à un groupe de propriétés en lecture seule sera elle-même considérée comme étant en lecture seule.
Avertissement
Cette classe ne doit pas être utilisée directement pour créer de nouvelles clés. On préfèrera toujours les classes filles qui héritent de ses méthodes et attributs :
GroupOfPropertiesKey
pour les groupes de propriétés. C’est la classe à utiliser lorsque l’objet du triplet RDF est un noeud anonyme.ValueKey
pour les clés-valeurs (correspondent aux widgets de saisie). C’est la classe à utiliser lorsque l’objet du triplet RDF est un IRI ou une valeur litérale.
- Attributes:
attr_to_copy
dict: Attributs de la classe à prendre en compte pour la copie des clés.
attr_to_update
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
compute_button_placement
tuple(int): Placement du bouton de calcul dans la grille, le cas échéant.
delayed
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
description
str: Descriptif de la métadonnée représentée par la clé.
generation
int: Génération à laquelle appartient la clé.
geo_button_placement
tuple(int): Placement du bouton d’aide à la saisie des géométries dans la grille, le cas échéant.
has_compute_button
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
has_geo_button
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
has_label
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
has_language_button
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
has_minus_button
bool: Un bouton moins est-il associé à la clé ?
has_source_button
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
has_unit_button
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
independant_label
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
is_ghost
bool: La clé est-elle une clé fantôme non matérialisée ?
is_hidden
bool: La clé est-elle masquée ?
is_hidden_b
bool: La clé est-elle un bouton masqué ?
is_hidden_m
bool: La clé appartient-elle à une branche masquée ?
is_main_twin
bool: La clé est-elle la jumelle référente du couple ?
is_read_only
bool: La clé est-elle en lecture seule ?
is_single_child
bool: La clé est-elle un enfant unique ?
label
str: Etiquette de la clé.
label_placement
tuple(int): Placement de l’étiquette dans la grille, le cas échéant.
language_button_placement
tuple(int): Placement du bouton de sélection de la langue dans la grille, le cas échéant.
m_twin
ObjectKey: Clé jumelle.
main_language
Langue principale de saisie des métadonnées.
minus_button_placement
tuple(int): Placement du bouton moins dans la grille, le cas échéant.
order_idx
tuple(int): Indice de classement de la clé parmi ses soeurs.
parent
GroupKey: Clé parente.
path
rdflib.paths.SequencePath: Chemin représenté par la clé.
placement
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
predicate
rdflib.term.URIRef: Prédicat représenté par la clé.
row
int: Ligne de la clé dans la grille.
rowspan
int: Nombre de lignes de la grille occupées par la clé.
source_button_placement
tuple(int): Placement du bouton de sélection de la source dans la grille, le cas échéant.
tree_idx
tuple: Représentation du placement de la clé dans l’arbre.
unit_button_placement
tuple(int): Placement du bouton de sélection de l’unité dans la grille, le cas échéant.
Methods
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
copy
([parent, empty])Renvoie une copie de la clé.
drop
([append_book, drop_single_children])Supprime une clé-objet.
kill
([preserve_twin])Efface une clé de la mémoire de son parent.
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
switch_twin
([value_source, append_book])Intervertit la visibilité d'un couple de jumelles.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
- property attr_to_copy#
dict: Attributs de la classe à prendre en compte pour la copie des clés.
Cette propriété est un dictionnaire dont les clés sont les noms des attributs contenant les informations nécessaires pour dupliquer la clé, et les valeurs sont des booléens qui indiquent si l’attribut est à prendre en compte lorsqu’il s’agit de créer une copie vide de la clé.
Certains attributs sont volontairement exclus de cette liste, car ils requièrent un traitement spécifique.
Voir aussi
Notes
Réécriture de la propriété
WidgetKey.attr_to_copy
.
- property attr_to_update#
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
Notes
Réécriture de la propriété
WidgetKey.attr_to_update
.
- property description#
str: Descriptif de la métadonnée représentée par la clé.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Lorsqu’il n’y a ni étiquette, ni descriptif mémorisé, cette propriété renvoie le chemin (
ObjectKey.path
).Si la clé a une jumelle dont le descriptif est différent de la valeur fournie, c’est celui de la jumelle de référence qui prévaudra. Autrement dit, pour changer le descriptif d’un couple de jumelles, il faut cibler la jumelle de référence, sans quoi l’opération n’aura pas d’effet.
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- drop(append_book=False, drop_single_children=False)#
Supprime une clé-objet.
Utiliser cette méthode sur une clé masquée n’a pas d’effet. Idem pour une clé qui n’est pas une clé-valeur en lecture seule et n’appartient pas non plus à un groupe de valeurs / groupe de traduction (ou qui, sauf paramétrage contraire, est la dernière clé de ce groupe).
- Parameters:
- append_bookbool, default False
Si
True
, le carnet d’action n’est pas réinitialisé ni avant ni après l’exécution, mais complété avec les nouvelles opérations réalisées.- drop_single_childrenbool, default False
Lorsque ce paramètre vaut
False
, la dernière clé du groupe est ignorée par cette méthode (sauf si elle est en lecture seule). La valeur de ce paramètre ne devrait être modifiée qu’à des fins de test ou dans des cas très spécifiques et finement testés.
- Returns:
- plume.rdf.actionsbook.ActionsBook
Le carnet d’actions qui permettra de matérialiser la suppresssion de la clé.
Avertissement
Lorsque le paramètre append_book est utilisé pour enregistrer les actions de matérialisation d’un ensemble d’opérations réalisées successivement sur les clés, dans l’idée de pouvoir jouer ensuite ces actions en une seule fois, il importe de commencer par réinitialiser le carnet d’actions avec la méthode
WidgetKey.clear_actionsbook()
. À défaut, le carnet d’actions est susceptible de ne pas être vide au début du traitement. Quand append_book vautFalse
, la réinitialisation est systématique.
- property has_minus_button#
bool: Un bouton moins est-il associé à la clé ?
Notes
Cette propriété est en lecture seule. Si la clé appartient à un groupe de valeurs ou de traduction, elle est déduite de la propriété
GroupOfValuesKey.with_minus_buttons
du groupe parent, sinon elle vautFalse
quoi qu’il arrive.
bool: La clé appartient-elle à une branche masquée ?
Cette propriété héréditaire vaut
True
pour la clé présentement masquée d’un couple de jumelles, ou toute clé descendant de celle-ci (branche masquée).Sauf à ce que les deux jumelles appartiennent à une branche masquée en amont, une et une seule clé du couple est toujours masquée (
ObjectKey.is_hidden_m
vautTrue
). Cette cohérence est maintenue automatiquement.Toute tentative pour rendre visible une partie d’une branche restant masquée en amont sera silencieusement ignorée.
Notes
Réécriture de la propriété
WidgetKey.is_hidden_m
.Modifier cette propriété emporte la mise en cohérence de la propriété
ObjectKey.is_main_twin
de la clé et de sa jumelle.
- property is_main_twin#
bool: La clé est-elle la jumelle référente du couple ?
Toujours
False
si la clé n’a pas de jumelle.Notes
Cette propriété n’est pas supposée être modifiée manuellement. Elle ne peut d’ailleurs l’être que lorsque les deux jumelles appartiennent à une branche masquée, sinon elle est déduite de
ObjectKey.is_hidden_m
.
- property is_read_only#
bool: La clé est-elle en lecture seule ?
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Si la clé appartient à un groupe de propriétés, elle sera considérée comme étant en lecture seule si le groupe parent est en lecture seule ou si la clé elle-même est paramétrée comme telle.
Les clés en lecture seule ne sont accompagnées d’aucun bouton.
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- kill(preserve_twin=False)#
Efface une clé de la mémoire de son parent.
- Parameters:
- preserve_twinbool
True
si la jumelle doit être conservée (généralement non souhaitable, sauf dans le cas très spécifique du nettoyage des groupes de propriétés vides).
Notes
Complète la méthode
WidgetKey.kill()
en effaçant aussi la clé jumelle, s’il y en a une.
- property label#
str: Etiquette de la clé.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, cette propriété vaudra
None
, car l’étiquette est portée par le groupe. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.Hors d’un groupe de valeurs, si aucune étiquette n’est mémorisée, la propriété renvoie
'???'`
plutôt queNone
.Si la clé a une jumelle dont l’étiquette est différente de la valeur fournie, c’est celle de la jumelle de référence qui prévaudra. Autrement dit, pour changer l’étiquette d’un couple de jumelles, il faut cibler la jumelle de référence, sans quoi l’opération n’aura pas d’effet.
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- property m_twin#
ObjectKey: Clé jumelle.
Deux clés jumelles sont une clé-valeur (classe
ValueKey
) et une clé groupe de propriétés (classeGroupOfPropertiesKey
) représentant le même objet, la première sous forme d’IRI, la seconde sous la forme d’un ensemble de propriétés (définition « manuelle »). Les deux clés occupant le même emplacement dans la grille, l’une des deux doit toujours être masquée (ObjectKey.is_hidden_m
valantTrue
).Les clés jumelles partagent certains attributs :
ObjectKey.predicate
(et par suiteObjectKey.path
),ObjectKey.label
,ObjectKey.description
etObjectKey.order_idx
prennent toujours la même valeur pour les deux jumelles (mise à jour automatique).- Raises:
- ForbiddenOperation
Si la clé cible est un fantôme, si la clé jumelle n’est pas du bon type (
ValueKey
pour une cléGroupOfPropertiesKey
et inversement), ou si les deux clés n’ont pas le même parent.
Notes
Modifier cette propriété emporte la mise en cohérence des propriétés
ObjectKey.is_hidden_m
,ObjectKey.is_main_twin
,ObjectKey.predicate
,ObjectKey.label
,ObjectKey.description
etObjectKey.order_idx
de la clé et de sa jumelle, des propriétésObjectKey.rowspan
etObjectKey.independant_label
de la clé-valeur du couple, ainsi que de la propriétéWidgetKey.is_single_child
pour toutes les clés du groupe parent.
- property order_idx#
tuple(int): Indice de classement de la clé parmi ses soeurs.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, modifier la valeur de cette propriété n’aura silencieusement aucun effet, car il n’y a pas de notion d’ordre dans ces groupes.
WidgetKey.order_idx
y vaut toujoursNone
. Dans le cas contraire,None
est silencieusement remplacé par(9999,)
, de manière ce que les clés sans indice soient classées après les autres.Si la clé a une jumelle dont l’indice de classement est différent de la valeur fournie, c’est celui de la jumelle de référence qui prévaudra. Autrement dit, pour changer l’indice de classement d’un couple de jumelles, il faut cibler la jumelle de référence, sans quoi l’opération n’aura pas d’effet.
Modifier cette propriété emporte la mise en cohérence de la propriété
WidgetKey.row
pour toutes les clés du groupe parent.
- property path#
rdflib.paths.SequencePath: Chemin représenté par la clé.
Notes
Cette propriété est en lecture seule. Si la clé appartient à un groupe de valeurs ou de traduction, le chemin est celui du groupe parent. Sinon, il est calculé dynamiquement à partir du chemin du parent et de la valeur de
ObjectKey.predicate
.
- property predicate#
rdflib.term.URIRef: Prédicat représenté par la clé.
- Raises:
- MissingParameter
Pour toute tentative de mettre à
None
la valeur de cette propriété alors que la clé n’appartient pas à un groupe de valeurs, cette information étant alors obligatoire.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Si la clé a une jumelle dont le prédicat est différent de la valeur fournie, c’est celui de la jumelle de référence qui prévaudra, sauf s’il vaut
None
. Autrement dit, pour changer le prédicat d’un couple de jumelles, il faut cibler la jumelle de référence, sans quoi l’opération n’aura pas d’effet.
- switch_twin(value_source=None, append_book=False)#
Intervertit la visibilité d’un couple de jumelles.
Utiliser cette méthode sur une clé non visible n’a pas d’effet, et le carnet d’actions renvoyé est vide : cette méthode est supposée être appliquée sur la jumelle visible du couple.
- Parameters:
- value_sourcerdflib.term.URIRef, optional
Si la clé qui redevient visible est la clé-valeur, la source à utiliser pour celle-ci. Si non fourni, la source antérieure est conservée.
- append_bookbool, default False
Si
True
, le carnet d’action n’est pas réinitialisé avant et après exécution, mais complété avec les nouvelles opérations réalisées.
- Returns:
- plume.rdf.actionsbook.ActionsBook
Le carnet d’actions qui permettra de répercuter le changement de source sur les widgets.
Avertissement
Lorsque le paramètre append_book est utilisé pour enregistrer les actions de matérialisation d’un ensemble d’opérations réalisées successivement sur les clés, dans l’idée de pouvoir jouer ensuite ces actions en une seule fois, il importe de commencer par réinitialiser le carnet d’actions avec la méthode
WidgetKey.clear_actionsbook()
. À défaut, le carnet d’actions est susceptible de ne pas être vide au début du traitement. Quand append_book vautFalse
, la réinitialisation est systématique.
- class plume.rdf.widgetkey.PlusButtonKey(**kwargs)#
Bases :
WidgetKey
Bouton plus.
Les boutons plus sont des clés de dictionnaire de widgets à visée utilitaire. Ils n’existent que dans les groupes de valeurs et leur présence signifie que l’utilisateur est autorisé à ajouter de nouveaux éléments au groupe.
Il ne peut pas y avoir de bouton plus fantôme, de bouton plus dans un groupe fantôme, de bouton plus sans parent, ou de bouton plus dont le parent n’est pas un groupe valeurs ou de traduction. Dans tous ces cas, rien ne sera créé.
Les boutons héritent des attributs et méthodes de la classe WidgetKey.
- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
.- is_ghostbool, default False
True
si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme. Tenter de créer un bouton plus fantôme ne produira rien.
- Attributes:
attr_to_copy
dict: Attributs de la classe à prendre en compte pour la copie des clés.
attr_to_update
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
compute_button_placement
tuple(int): Placement du bouton de calcul dans la grille, le cas échéant.
delayed
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
description
str: Texte d’aide.
generation
int: Génération à laquelle appartient la clé.
geo_button_placement
tuple(int): Placement du bouton d’aide à la saisie des géométries dans la grille, le cas échéant.
has_compute_button
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
has_geo_button
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
has_label
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
has_language_button
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
has_minus_button
bool: Un bouton moins est-il associé à la clé ?
has_source_button
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
has_unit_button
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
independant_label
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
is_ghost
bool: La clé est-elle une clé fantôme non matérialisée ?
is_hidden
bool: La clé est-elle masquée ?
is_hidden_b
bool: La clé est-elle un bouton masqué ?
is_hidden_m
bool: La clé appartient-elle à une branche masquée ?
is_single_child
bool: La clé est-elle un enfant unique ?
key_object
str: Transcription littérale du type de clé.
label_placement
tuple(int): Placement de l’étiquette dans la grille, le cas échéant.
language_button_placement
tuple(int): Placement du bouton de sélection de la langue dans la grille, le cas échéant.
main_language
Langue principale de saisie des métadonnées.
minus_button_placement
tuple(int): Placement du bouton moins dans la grille, le cas échéant.
order_idx
tuple(int): Indice de classement de la clé parmi ses soeurs.
parent
GroupKey: Clé parente.
path
rdflib.paths.SequencePath: Chemin du bouton.
placement
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
row
int: Ligne de la clé dans la grille.
rowspan
int: Nombre de lignes de la grille occupées par la clé.
source_button_placement
tuple(int): Placement du bouton de sélection de la source dans la grille, le cas échéant.
tree_idx
tuple: Représentation du placement de la clé dans l’arbre.
unit_button_placement
tuple(int): Placement du bouton de sélection de l’unité dans la grille, le cas échéant.
Methods
add
([append_book, key_type])Ajoute une clé vierge dans le groupe parent du bouton.
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
copy
([parent, empty])Renvoie une copie de la clé.
kill
()Efface une clé bouton de la mémoire de son parent.
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
- add(append_book=False, key_type=None)#
Ajoute une clé vierge dans le groupe parent du bouton.
La nouvelle clé est une copie du dernier enfant non fantômatique du groupe.
- Parameters:
- append_bookbool, default False
Si
True
, le carnet d’action n’est pas réinitialisé avant exécution, mais complété avec les nouvelles opérations réalisées.- key_type{None, ValueKey, GroupOfPropertiesKey}, optional
Si renseigné, la méthode s’assurera d’ajouter une clé du type considéré.
- Returns:
- plume.rdf.actionsbook.ActionsBook
Le carnet d’actions qui permettra de matérialiser la création de la clé.
- Raises:
- IntegrityBreach
Si key_type est renseigné et que le groupe ne contient aucune clé du type considéré, ou si aucune clé n’a pu être dupliquée.
Avertissement
Lorsque le paramètre append_book est utilisé pour enregistrer les actions de matérialisation d’un ensemble d’opérations réalisées successivement sur les clés, dans l’idée de pouvoir jouer ensuite ces actions en une seule fois, il importe de commencer par réinitialiser le carnet d’actions avec la méthode
WidgetKey.clear_actionsbook()
. À défaut, le carnet d’actions est susceptible de ne pas être vide au début du traitement. Quand append_book vautFalse
, la réinitialisation est systématique.
- property description#
str: Texte d’aide.
bool: La clé est-elle un bouton masqué ?
Un bouton plus est toujours masqué dans un groupe de valeurs en lecture seule.
Voir aussi
TranslationButtonKey.is_hidden_b
Réécriture de la propriété pour un bouton de traduction.
Notes
Réécriture de la propriété
WidgetKey.is_hidden_b
.
- property key_object#
str: Transcription littérale du type de clé.
- kill()#
Efface une clé bouton de la mémoire de son parent.
Notes
Réécrit
WidgetKey.kill()
pour l’adapter au cas des boutons. Dans l’absolu, elle n’est pas supposée servir, car aucun mécanisme ne prévoit de supprimer le bouton d’un groupe sans supprimer également celui-ci.
- property path#
rdflib.paths.SequencePath: Chemin du bouton.
Notes
Cette propriété est en lecture seule. Le chemin d’un bouton est simplement celui de son groupe parent.
- property placement#
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme, un onglet ou une clé-racine.Notes
Réécriture de la propriété
WidgetKey.placement
. Les boutons plus sont toujours placés en colonne 0 et occupent une seule colonne.
- property tree_idx#
tuple: Représentation du placement de la clé dans l’arbre.
- class plume.rdf.widgetkey.RootKey(**kwargs)#
Bases :
GroupKey
Clé-racine du graphe RDF.
Une clé-racine est, comme son nom l’indique, l’origine d’un arbre de clés, et donc la seule clé de l’arbre qui n’ait pas de parent. Elle porte l’identifiant du jeu de données, dans son attribut
RootKey.node
.Outre ses attributs propres listés ci-après, RootKey hérite des attributs de la classe GroupKey.
- Parameters:
- datasetidrdflib.term.URIRef, optional
L’identifiant du graphe de métadonnées. S’il n’est pas fourni un nouvel UUID est généré pour l’attribut
RootKey.node
.
Notes
Une clé-racine n’est jamais un fantôme, et toute tentative dans ce sens serait ignorée.
- Attributes:
attr_to_copy
dict: Attributs de la classe à prendre en compte pour la copie des clés.
attr_to_update
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
columnspan
int: Nombre de colonnes de la grille occupées par le widget principal de la clé.
compute_button_placement
tuple(int): Placement du bouton de calcul dans la grille, le cas échéant.
delayed
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
generation
int: Génération à laquelle appartient la clé.
geo_button_placement
tuple(int): Placement du bouton d’aide à la saisie des géométries dans la grille, le cas échéant.
has_compute_button
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
has_geo_button
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
has_label
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
has_language_button
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
has_minus_button
bool: Un bouton moins est-il associé à la clé ?
has_real_children
bool: Y a-t-il au moins un enfant dans ce groupe qui ne soit pas un fantôme ?
has_source_button
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
has_unit_button
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
independant_label
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
is_ghost
bool: La clé est-elle une clé fantôme non matérialisée ?
is_hidden
bool: La clé est-elle masquée ?
is_hidden_b
bool: La clé est-elle un bouton masqué ?
is_hidden_m
bool: La clé appartient-elle à une branche masquée ?
is_single_child
bool: La clé est-elle un enfant unique ?
key_object
str: Transcription littérale du type de clé.
label_placement
tuple(int): Placement de l’étiquette dans la grille, le cas échéant.
language_button_placement
tuple(int): Placement du bouton de sélection de la langue dans la grille, le cas échéant.
main_language
Langue principale de saisie des métadonnées.
minus_button_placement
tuple(int): Placement du bouton moins dans la grille, le cas échéant.
node
rdflib.term.URIRef: Identifiant du jeu de données.
order_idx
tuple(int): Indice de classement de la clé parmi ses soeurs.
parent
GroupKey: Clé parente.
path
rdflib.paths.SequencePath: Chemin de la clé.
placement
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
rdfclass
rdflib.term.URIRef: Classe RDF.
row
int: Ligne de la clé dans la grille.
rowspan
int: Nombre de lignes de la grille occupées par la clé.
source_button_placement
tuple(int): Placement du bouton de sélection de la source dans la grille, le cas échéant.
tree_idx
tuple: Représentation du placement de la clé dans l’arbre.
unit_button_placement
tuple(int): Placement du bouton de sélection de l’unité dans la grille, le cas échéant.
Methods
Traduit l'arbre de clés en graphe de métadonnées.
clean
([append_book])Balaie l'arbre de clés et supprime tous les groupes sans fille.
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
compute_rows
()Actualise les indices de ligne des filles du groupe.
copy
([parent, empty])Renvoie une copie de la clé.
is_empty
(**kwargs)Le groupe est-il vide ?
kill
()Efface une clé de la mémoire de son parent.
paste_from_path
(widgetkey)Copie et colle une branche dans l'arbre de clés.
real_children
([reverse])Générateur sur les clés filles qui ne sont pas des fantômes (ni des boutons).
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
search_from_path
(path[, allow_ghosts])Renvoie la première clé de l'arbre dont le chemin correspond à celui recherché.
search_from_rdfclass
(rdfclass)Renvoie la liste des groupes de propriétés du type recherché.
search_from_uuid
(uuid)Renvoie la clé de l'arbre dont l'identifiant est l'UUID recherché.
search_tab
([label])Cherche parmi les filles du groupe et renvoie l'onglet d'étiquette donnée.
Générateur sur les clés de l'arbre.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
compute_single_children
- property attr_to_copy#
dict: Attributs de la classe à prendre en compte pour la copie des clés.
Cette propriété est un dictionnaire dont les clés sont les noms des attributs contenant les informations nécessaires pour dupliquer la clé, et les valeurs sont des booléens qui indiquent si l’attribut est à prendre en compte lorsqu’il s’agit de créer une copie vide de la clé.
Certains attributs sont volontairement exclus de cette liste, car ils requièrent un traitement spécifique.
Voir aussi
Notes
Plusieurs classes filles de
WidgetKey
redéfinissent cette propriété, en complétant le dictionnaire avec leurs propres attributs.
- property attr_to_update#
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
Notes
Plusieurs des classes filles de
WidgetKey
redéfinissent cette propriété en ajoutant ou retirant des attributs à la liste.
- build_metagraph()#
Traduit l’arbre de clés en graphe de métadonnées.
- Returns:
- plume.rdf.metagraph.Metagraph
- clean(append_book=False)#
Balaie l’arbre de clés et supprime tous les groupes sans fille.
Les groupes qui ne contiennent que des fantômes sont transformés en fantômes, s’ils ne l’étaient pas déjà (sous réserve des contraintes exprimées dans les descriptifs des propriétés
GroupOfPropertiesKey.is_ghost
,TabKey.is_ghost
etGroupOfValuesKey.is_ghost
).Cette méthode a la spécificité de pouvoir supprimer une clé tout en préservant sa jumelle clé-valeur (qui n’est alors plus une clé jumelle). Outre le cas des jumelles supprimées parce que ce sont des groupes de propriétés vides, la méthode élimine les clés qui ne sont pas la jumelle principale lorsqu’il n’y a pas de bouton de sélection de la source qui permettraient de les afficher.
- Parameters:
- append_bookbool, default False
Si
True
, le carnet d’action n’est pas réinitialisé avant et après exécution, mais complété avec les nouvelles opérations réalisées.
- Returns:
- plume.rdf.actionsbook.ActionsBook
Le carnet d’actions qui permettra de matérialiser les opérations réalisées.
Avertissement
Lorsque le paramètre append_book est utilisé pour enregistrer les actions de matérialisation d’un ensemble d’opérations réalisées successivement sur les clés, dans l’idée de pouvoir jouer ensuite ces actions en une seule fois, il est nécessaire de commencer par réinitialiser le carnet d’actions avec la méthode
WidgetKey.clear_actionsbook()
, en spécifiantallow_ghosts=True
en argument.Notes
Les suppressions et les fantômisations se traduisent par des entrées dans la liste
ActionsBook.drop
du carnet d’actions.
- property generation#
int: Génération à laquelle appartient la clé.
0
pour la clé-racine,1
pour ses enfants, etc.
- property is_ghost#
bool: La clé est-elle une clé fantôme non matérialisée ?
Voir aussi
GroupOfPropertiesKey.is_ghost
Réécriture de la propriété pour les groupes de propriétés.
GroupOfValuesKey.is_ghost
Réécriture de la propriété pour les groupes de valeurs.
TabKey.is_ghost
Réécriture de la propriété pour les onglets.
Notes
Cette propriété n’est plus modifiable une fois la clé initialisée, sauf pour les certains groupes dont, entre autres conditions, tous les enfants sont des fantômes.
is_ghost
définit la valeur booléenne de la clé :bool(widgetkey)
vautFalse
siwidgetkey
est une clé fantôme.
- property key_object#
str: Transcription littérale du type de clé.
- kill()#
Efface une clé de la mémoire de son parent.
Notes
Cette méthode n’est pas appliquée récursivement aux enfants de la clé effacée. Elle coupe simplement la branche de l’arbre. Pour autant tous les descendants de la clé sont enregistrés la liste
plume.rdf.actionsbook.ActionsBook.drop
du carnet d’actions.La méthode est sans effet sur les clés-racine (
RootKey
).
- property node#
rdflib.term.URIRef: Identifiant du jeu de données.
Notes
Si la valeur fournie n’est pas un IRI, un nouvel identifiant (UUID) est généré.
- property parent#
GroupKey: Clé parente.
- Raises:
- MissingParameter
Quand aucune clé n’est fournie pour le parent.
- ForbiddenOperation
En cas de tentative de modification du parent post initialisation de la clé.
- ForbiddenOperation
Si la classe de l’enfant n’est pas cohérente avec celle du parent.
- ForbiddenOperation
En cas de tentative pour mêler des onglets et des clés d’autres types dans un même groupe.
Notes
Cette propriété n’est plus modifiable après l’initialisation. Pour reproduire la clé avec un autre parent, on utilisera la méthode
WidgetKey.copy()
.WidgetKey.kill()
permet d’effacer la clé d’origine si besoin.
- paste_from_path(widgetkey)#
Copie et colle une branche dans l’arbre de clés.
La clé est positionnée en fonction de son type et de la valeur de son attribut
WidgetKey.path
. Si le chemin n’existe pas dans l’arbre dont self est la racine, la méthode n’a pas d’effet. Idem s’il pointe sur une branche masquée.Si le chemin pointe sur un groupe de valeurs avec un bouton (donc dans lequel on présume que les ajouts sont autorisés) et que la clé à coller est de classe
GroupOfPropertiesKey
, elle est ajoutée au groupe. Sinon, la clé à coller remplace la clé de même chemin dans l’arbre cible, sous réserve qu’elles soient bien de même nature.- Parameters:
- widgetkeyGroupOfPropertiesKey or GroupOfValuesKey
La clé correspondant à la base de la branche à copier.
- Returns:
- plume.rdf.actionsbook.ActionsBook
Le carnet d’actions qui permettra de matérialiser les opérations réalisées.
- Raises:
- ForbiddenOperation
Si appliquée à une clé qui n’est pas un groupe de valeurs ou de propriétés, ou à une clé fantôme ou masquée.
- property placement#
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme, un onglet ou une clé-racine.Voir aussi
- property rdfclass#
rdflib.term.URIRef: Classe RDF.
Notes
Vaut toujours
dcat:Dataset
.
- search_from_path(path, allow_ghosts=False)#
Renvoie la première clé de l’arbre dont le chemin correspond à celui recherché.
Si une clé et son parent ont le même chemin (cas d’un groupe de valeurs et ses clés filles, ou d’un groupe de propriétés et ses onglets), c’est toujours le groupe parent qui est renvoyé.
Si le chemin pointe sur un couple de jumelles, c’est la jumelle de référence (celle dont la propriété
ObjectKey.is_main_twin
vautTrue
) qui est renvoyée.Si le chemin n’existe pas dans l’arbre, la méthode ne renvoie rien. Les clés fantômes ne sont pas prises en compte, sauf si le paramètre allow_ghosts est explicitement mis à
True
.- Parameters:
- pathrdflib.paths.SequencePath
Le chemin à chercher.
- allow_ghostsbool, default False
Si
True
, les clés fantômes seront prises en compte.
- Returns:
- WidgetKey
- search_from_rdfclass(rdfclass)#
Renvoie la liste des groupes de propriétés du type recherché.
Les clés fantômes ne sont pas prises en compte.
- Parameters:
- rdfclassrdflib.term.URIRef
La classe RDF cible.
- Returns:
- list of GroupOfPropertiesKey
- search_from_uuid(uuid)#
Renvoie la clé de l’arbre dont l’identifiant est l’UUID recherché.
- Parameters:
- uuidstr or uuid.UUID
- property tree_idx#
tuple: Représentation du placement de la clé dans l’arbre.
- tree_keys()#
Générateur sur les clés de l’arbre.
Les fantômes sont exclus, les boutons sont inclus.
- Yields:
- WidgetKey
- class plume.rdf.widgetkey.TabKey(**kwargs)#
Bases :
GroupKey
Onglet.
Les onglets sont des clés de dictionnaires de widgets qui doublent leur groupe de propriétés ou groupe racine parent sans porter aucune information sur la structure du graphe RDF.
TabKey
hérite des attributs et méthodes de la classeGroupKey
.- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
.- is_ghostbool, default False
True
si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme.- order_idxtuple of int, default (999,)
Indice(s) permettant le classement de la clé parmi ses soeurs dans un groupe de propriétés. Les clés de plus petits indices seront les premières.
- labelstr or rdflib.term.Literal
Etiquette de l’onglet.
Notes
Il n’est pas permis de créer un onglet dans un groupe contenant autre chose que des onglets ni, réciproqument, une clé qui ne serait pas un onglet dans un groupe contenant un onglet. C’est le setter de la propriété
WidgetKey.parent
qui veille au respect de cette condition.- Attributes:
attr_to_copy
dict: Attributs de la classe à prendre en compte pour la copie des clés.
attr_to_update
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
columnspan
int: Nombre de colonnes de la grille occupées par le widget principal de la clé.
compute_button_placement
tuple(int): Placement du bouton de calcul dans la grille, le cas échéant.
delayed
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
generation
int: Génération à laquelle appartient la clé.
geo_button_placement
tuple(int): Placement du bouton d’aide à la saisie des géométries dans la grille, le cas échéant.
has_compute_button
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
has_geo_button
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
has_label
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
has_language_button
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
has_minus_button
bool: Un bouton moins est-il associé à la clé ?
has_real_children
bool: Y a-t-il au moins un enfant dans ce groupe qui ne soit pas un fantôme ?
has_source_button
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
has_unit_button
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
independant_label
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
is_ghost
bool: La clé est-elle une clé fantôme non matérialisée ?
is_hidden
bool: La clé est-elle masquée ?
is_hidden_b
bool: La clé est-elle un bouton masqué ?
is_hidden_m
bool: La clé appartient-elle à une branche masquée ?
is_single_child
bool: La clé est-elle un enfant unique ?
key_object
str: Transcription littérale du type de clé.
label
str: Etiquette de la clé.
label_placement
tuple(int): Placement de l’étiquette dans la grille, le cas échéant.
language_button_placement
tuple(int): Placement du bouton de sélection de la langue dans la grille, le cas échéant.
main_language
Langue principale de saisie des métadonnées.
minus_button_placement
tuple(int): Placement du bouton moins dans la grille, le cas échéant.
node
rdflib.term.URIRef or rdflib.term.BNode: Noeud sujet des filles de l’onglet.
order_idx
tuple(int): Indice de classement de la clé parmi ses soeurs.
parent
GroupKey: Clé parente.
path
rdflib.paths.SequencePath: Chemin représenté par la clé.
placement
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
row
int: Ligne de la clé dans la grille.
rowspan
int: Nombre de lignes de la grille occupées par la clé.
source_button_placement
tuple(int): Placement du bouton de sélection de la source dans la grille, le cas échéant.
tree_idx
tuple: Représentation du placement de la clé dans l’arbre.
unit_button_placement
tuple(int): Placement du bouton de sélection de l’unité dans la grille, le cas échéant.
Methods
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
compute_rows
()Actualise les indices de ligne des filles du groupe.
copy
([parent, empty])Renvoie une copie de la clé.
is_empty
(**kwargs)Le groupe est-il vide ?
kill
()Efface une clé de la mémoire de son parent.
real_children
([reverse])Générateur sur les clés filles qui ne sont pas des fantômes (ni des boutons).
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
search_tab
([label])Cherche parmi les filles du groupe et renvoie l'onglet d'étiquette donnée.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
compute_single_children
- property attr_to_update#
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
Notes
Réécriture de la propriété
WidgetKey.attr_to_update
.
- property is_ghost#
bool: La clé est-elle une clé fantôme non matérialisée ?
Notes
Réécriture de la propriété
WidgetKey.is_ghost
.Cette propriété n’est modifiable post initialisation que pour transformer en fantôme une clé qui ne l’était pas, si les conditions suivantes sont réunies : * le groupe a au moins un enfant ; * tous les enfants du groupe sont des fantômes.
is_ghost
définit la valeur booléenne de la clé :bool(widgetkey)
vautFalse
siwidgetkey
est une clé fantôme.
- property key_object#
str: Transcription littérale du type de clé.
- property label#
str: Etiquette de la clé.
Notes
Si aucune étiquette n’est mémorisée, la propriété renvoie
'???'`
plutôt queNone
.Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- property node#
rdflib.term.URIRef or rdflib.term.BNode: Noeud sujet des filles de l’onglet.
Identique à celui du groupe parent.
- property path#
rdflib.paths.SequencePath: Chemin représenté par la clé.
Notes
Cette propriété est en lecture seule. Le chemin d’un onglet est identique à celui du groupe parent.
- property placement#
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme, un onglet ou une clé-racine.Voir aussi
- class plume.rdf.widgetkey.TranslationButtonKey(**kwargs)#
Bases :
PlusButtonKey
Bouton de traduction.
Un bouton de traduction est l’équivalent d’un bouton plus, mais dont le parent est un groupe de traduction. Sa présence indique que l’utilisateur est autorisé à ajouter de nouvelles traductions.
En cas de tentative de création d’un bouton de traduction dans un groupe de valeurs, c’est un bouton plus qui est créé à la place.
Les boutons héritent des attributs et méthodes de la classe WidgetKey. Ils n’ont pas d’attributs propres.
- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
.- is_ghostbool, default False
True
si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme. Comme pour les boutons plus, tenter de créer un bouton de traduction fantôme ne produira rien.
- Attributes:
attr_to_copy
dict: Attributs de la classe à prendre en compte pour la copie des clés.
attr_to_update
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
compute_button_placement
tuple(int): Placement du bouton de calcul dans la grille, le cas échéant.
delayed
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
description
str: Texte d’aide.
generation
int: Génération à laquelle appartient la clé.
geo_button_placement
tuple(int): Placement du bouton d’aide à la saisie des géométries dans la grille, le cas échéant.
has_compute_button
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
has_geo_button
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
has_label
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
has_language_button
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
has_minus_button
bool: Un bouton moins est-il associé à la clé ?
has_source_button
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
has_unit_button
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
independant_label
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
is_ghost
bool: La clé est-elle une clé fantôme non matérialisée ?
is_hidden
bool: La clé est-elle masquée ?
is_hidden_b
bool: La clé est-elle un bouton masqué ?
is_hidden_m
bool: La clé appartient-elle à une branche masquée ?
is_single_child
bool: La clé est-elle un enfant unique ?
key_object
str: Transcription littérale du type de clé.
label_placement
tuple(int): Placement de l’étiquette dans la grille, le cas échéant.
language_button_placement
tuple(int): Placement du bouton de sélection de la langue dans la grille, le cas échéant.
main_language
Langue principale de saisie des métadonnées.
minus_button_placement
tuple(int): Placement du bouton moins dans la grille, le cas échéant.
order_idx
tuple(int): Indice de classement de la clé parmi ses soeurs.
parent
GroupKey: Clé parente.
path
rdflib.paths.SequencePath: Chemin du bouton.
placement
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
row
int: Ligne de la clé dans la grille.
rowspan
int: Nombre de lignes de la grille occupées par la clé.
source_button_placement
tuple(int): Placement du bouton de sélection de la source dans la grille, le cas échéant.
tree_idx
tuple: Représentation du placement de la clé dans l’arbre.
unit_button_placement
tuple(int): Placement du bouton de sélection de l’unité dans la grille, le cas échéant.
Methods
add
([append_book, key_type])Ajoute une clé vierge dans le groupe parent du bouton.
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
copy
([parent, empty])Renvoie une copie de la clé.
kill
()Efface une clé bouton de la mémoire de son parent.
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
- property description#
str: Texte d’aide.
bool: La clé est-elle un bouton masqué ?
Un bouton de traduction est masqué lorsque le stock de langues disponibles pour les traductions est épuisé.
Notes
Réécriture de la propriété
WidgetKey.is_hidden_b
.Cette propriété est en lecture seule. Elle est déduite dynamiquement de la propriété
TranslationGroupKey.available_languages
du groupe parent.
- property key_object#
str: Transcription littérale du type de clé.
- class plume.rdf.widgetkey.TranslationGroupKey(**kwargs)#
Bases :
GroupOfValuesKey
Groupe de traduction.
Un groupe de traduction est une clé de groupe de valeurs spécifique, dont les filles représentent les traductions d’un objet. Chaque membre du groupe a donc une propriété
ValueKey.value_language
différente, et tout l’enjeu du groupe de traduction est de veiller à ce que les langues restent distinctes.Outre ses attributs propres listés ci-après,
TranslationGroupKey
hérite de tous les attributs de la classeGroupOfValuesKey
. La plupart présentent toutefois peu d’intérêt, valant soitNone
, soit une valeur fixe (par exemplerdf:langString
pourTranslationGroupKey.xsd:type
).- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
.- is_ghostbool, default False
True si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme. Il n’est pas permis d’avoir un groupe de traduction fantôme, y compris par héritage. Le cas échéant, c’est un groupe de valeurs classique (:py:class:GroupOfValuesKey) qui sera automatiquement créé à la place.
- order_idxtuple of int, default (999,)
Indice(s) permettant le classement de la clé parmi ses soeurs dans un groupe de propriétés. Les clés de plus petits indices seront les premières.
- predicaterdflib.term.URIRef
Le prédicat commun à toutes les valeurs du groupe.
Avertissement
Il n’est possible de créer un groupe de traduction que si l’attribut partagé
with_language_buttons
vautTrue
. À défaut, c’est un groupe de valeurs qui sera créé à la place.Notes
Dans un groupe de traduction, dont les enfants sont nécessairement des clés-valeurs (
ValueKey
) représentant des valeurs littérales, il n’y a jamais lieu de fournir des valeurs pour les propriétésGroupOfValuesKey.rdfclass
etGroupOfValuesKey.sources
. Elles n’apparaissent donc pas dans la liste de paramètres ci-avant, et - si valeurs il y avait - elles seraient silencieusement perdues. Ces propriétés renvoient toujoursNone
.- Attributes:
attr_to_copy
dict: Attributs de la classe à prendre en compte pour la copie des clés.
attr_to_update
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
available_languages
list(str) : Liste des langues encore disponibles pour les traductions.
columnspan
int: Nombre de colonnes de la grille occupées par le widget principal de la clé.
compute
list(str): Modes de calcul définis pour la clé.
compute_button_placement
tuple(int): Placement du bouton de calcul dans la grille, le cas échéant.
compute_params
dict: Paramètres à fournir à la méthode de calcul.
datatype
rdflib.term.URIRef: Type de valeur commun à toutes les valeurs du groupe.
delayed
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
description
str: Descriptif de la métadonnée représentée par les clés du groupe.
generation
int: Génération à laquelle appartient la clé.
geo_button_placement
tuple(int): Placement du bouton d’aide à la saisie des géométries dans la grille, le cas échéant.
geo_tools
list(str): Fonctionnalités d’aide à la saisie des géométries disponibles pour les clés-valeurs du groupe.
has_compute_button
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
has_geo_button
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
has_label
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
has_language_button
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
has_minus_button
bool: Un bouton moins est-il associé à la clé ?
has_real_children
bool: Y a-t-il au moins un enfant dans ce groupe qui ne soit pas un fantôme ?
has_source_button
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
has_unit_button
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
independant_label
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
input_mask
str: Masque de saisie à utiliser pour les clés-valeurs du groupe.
is_ghost
bool: La clé est-elle une clé fantôme non matérialisée ?
is_hidden
bool: La clé est-elle masquée ?
is_hidden_b
bool: La clé est-elle un bouton masqué ?
is_hidden_m
bool: La clé appartient-elle à une branche masquée ?
is_mandatory
bool: Au moins une clé-valeur du groupe devra-t-elle obligatoirement recevoir une valeur ?
is_read_only
bool: Les valeurs des clés-valeurs du groupe sont-elles en lecture seule ?
is_single_child
bool: La clé est-elle un enfant unique ?
key_object
str: Transcription littérale du type de clé.
label
str: Etiquette du groupe.
label_placement
tuple(int): Placement de l’étiquette dans la grille, le cas échéant.
language_button_placement
tuple(int): Placement du bouton de sélection de la langue dans la grille, le cas échéant.
main_language
Langue principale de saisie des métadonnées.
minus_button_placement
tuple(int): Placement du bouton moins dans la grille, le cas échéant.
node
rdflib.term.URIRef or rdflib.term.BNode: Noeud sujet des filles du groupe.
order_idx
tuple(int): Indice de classement de la clé parmi ses soeurs.
parent
GroupKey: Clé parente.
path
rdflib.paths.SequencePath: Chemin commun à toutes les clés du groupe.
placeholder
str: Texte de substitution à utiliser pour les clés-valeurs du groupe.
placement
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
predicate
rdflib.term.URIRef: Prédicat commun à toutes les clés du groupe.
rdfclass
rdflib.term.URIRef: Classe RDF commune à toutes les valeurs du groupe.
regex_validator
str: Expression rationnelle de validation à utiliser pour les clés-valeurs du groupe.
regex_validator_flags
str: Paramètres associés à l’expression rationnelle de validation des clés-valeurs du groupe.
row
int: Ligne de la clé dans la grille.
rowspan
int: Nombre de lignes de la grille occupées par la clé.
source_button_placement
tuple(int): Placement du bouton de sélection de la source dans la grille, le cas échéant.
sources
list(rdflib.term.URIRef): Liste des sources de vocabulaire contrôlé commune à toutes les valeurs du groupe.
transform
{None, “email”, “phone”}: Nature de la transformation appliquée aux clés-valeurs du groupe.
tree_idx
tuple: Représentation du placement de la clé dans l’arbre.
unit_button_placement
tuple(int): Placement du bouton de sélection de l’unité dans la grille, le cas échéant.
with_minus_buttons
bool: Les filles du groupe sont-elles accompagnées de boutons moins ?
Methods
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
compute_rows
()Actualise les indices de ligne des filles du groupe.
compute_single_children
()Détermine si les clés du groupe sont des filles uniques.
copy
([parent, empty])Renvoie une copie de la clé.
is_empty
([sources])Le groupe est-il vide ?
kill
()Efface une clé de la mémoire de son parent.
language_in
(value_language)Ajoute une langue à la liste des langues disponibles.
language_out
(value_language)Retire une langue de la liste des langues disponibles.
real_children
([reverse])Générateur sur les clés filles qui ne sont pas des fantômes (ni des boutons).
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
search_tab
([label])Cherche parmi les filles du groupe et renvoie l'onglet d'étiquette donnée.
shrink_expend
(length[, sources])Prépare les clés filles du groupe en vue d'une saisie massive des valeurs.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
- property available_languages#
list(str) : Liste des langues encore disponibles pour les traductions.
Cette liste est initialisée avec la variable partagée
WidgetKey.langlist
, et mise à jour automatiquement au gré des ajouts et suppressions de traductions dans le groupe.
- property datatype#
rdflib.term.URIRef: Type de valeur commun à toutes les valeurs du groupe.
Notes
Cette propriété vaut toujours
rdf:langString
pour un groupe de traduction. Toute tentative de modification sera silencieusement ignorée.
- property key_object#
str: Transcription littérale du type de clé.
- language_in(value_language)#
Ajoute une langue à la liste des langues disponibles.
- Parameters:
- value_languagestr
Langue redevenue disponible.
- language_out(value_language)#
Retire une langue de la liste des langues disponibles.
- Parameters:
- value_languagestr
Langue désormais non disponible.
- property rdfclass#
rdflib.term.URIRef: Classe RDF commune à toutes les valeurs du groupe.
- Raises:
- MissingParameter
Pour toute tentative de mettre à
None
la valeur de cette propriété alors qu’il y a au moins un groupe de propriétés (représentant un noeud anonyme, qui doit avoir une classe associée) parmi les enfants du groupe.
Notes
Modifier cette propriété emporte la mise en cohérence de
GroupOfValuesKey.datatype
.
- property sources#
list(rdflib.term.URIRef): Liste des sources de vocabulaire contrôlé commune à toutes les valeurs du groupe.
Notes
Modifier cette propriété emporte la mise en cohérence de la propriété
ValueKey.value_source
pour toutes les clés-valeurs du groupe.
- property transform#
{None, “email”, “phone”}: Nature de la transformation appliquée aux clés-valeurs du groupe.
Notes
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties. Toute tentative pour définir une transformation autre que celles listées ci-avant sera silencieusement ignorée.Il n’est pas interdit de définir une valeur pour cette propriété lorsque le groupe de valeurs ne contient que des groupes de propriétés, mais cela ne présente aucun intérêt.
- class plume.rdf.widgetkey.ValueKey(**kwargs)#
Bases :
ObjectKey
Clé-valeur.
Une clé-valeur est une clé-objet représentant une valeur litérale ou un IRI. Elle a vocation a être matérialisée par un widget de saisie.
Outre ses méthodes et attributs propres listés ci-après, py:class:ValueKey hérite de toutes les méthodes et attributs de la classe py:class:ObjectKey.
- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
.- is_ghostbool, default False
True
si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme.- order_idxtuple of int, default (999,)
Indice(s) permettant le classement de la clé parmi ses soeurs dans un groupe de propriétés. Les clés de plus petits indices seront les premières. Cet argument sera ignoré si le groupe parent est un groupe de valeurs (
GroupOfvaluesKey
).- predicaterdflib.term.URIRef
Prédicat représenté par la clé. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information. Sinon, elle est obligatoire. Pour des clés jumelles, le prédicat déclaré sur la jumelle de référence prévaut, sauf s’il vaut
None
.- labelstr or rdflib.term.Literal, optional
Etiquette de la clé (libellé de la catégorie de métadonnée représentée par la clé). Cet argument est ignoré si la clé appartient à un groupe de valeurs. Pour des clés jumelles, l’étiquette déclarée sur la jumelle de référence prévaut.
- descriptionstr or rdflib.term.Literal, optional
Définition de la catégorie de métadonnée représentée par la clé. Cet argument est ignoré si la clé appartient à un groupe de valeurs. Pour des clés jumelles, le descriptif déclaré sur la jumelle de référence prévaut.
- m_twinObjectKey, optional
Clé jumelle, le cas échéant. Un couple de jumelle ne se déclare qu’une fois, sur la seconde clé créée.
- is_hidden_mbool, default False
La clé est-elle la clé masquée du couple de jumelles ? Ce paramètre n’est pris en compte que pour une clé qui a une jumelle.
- rowspanint, optional
Nombre de lignes occupées par le ou les widgets portés par la clé, étiquette séparée non comprise. rowspan vaudra toujours
0
pour une clé fantôme. Si aucune valeur n’est fournie, une valeur par défaut de1
est appliquée.- independant_labelbool, default False
True
si l’étiquette de la clé occupe une ligne séparée de la grille.- sourceslist of rdflib.term.URIRef, optional
Le cas échéant, liste des sources de vocabulaire contrôlé pour les valeurs de la clé. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information.
- transform{None, “email”, “phone”}, optional
Le cas échéant, la nature de la transformation appliquée à l’objet. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information.
- placeholderstr or rdflib.term.Literal, optional
Le cas échéant, texte de substitution à utiliser pour la clé. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information.
- input_maskstr or rdflib.term.Literal, optional
Le cas échéant, masque de saisie à utiliser pour la clé. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information.
- is_mandatorybool or rdflib.term.Literal, default False
Cette clé devra-t-elle obligatoirement recevoir une valeur ? Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information.
- regex_validatorstr, optional
Le cas échéant, expression rationnelle de validation à utiliser pour la clé. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information.
- regex_validator_flagsstr, optional
Le cas échéant, paramètres associés à l’expression rationnelle de validation de la clé. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information.
- rdfclassrdflib.term.URIRef, optional
Classe RDF de la clé-valeur, s’il s’agit d’un IRI. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information.
- datatyperdflib.term.URIRef, optional
Le type de la clé-valeur, le cas échéant. Doit impérativement valoir
rdf:langString
pour que les informations sur les langues soient prises en compte. Si la clé appartient à un groupe de valeurs, c’est lui qui porte cette information. Dans le cas contraire, siValueKey.rdfclass
n’est pas nul, il sera toujours considéré queValueKey.datatype
l’est. Sinon,xsd:string
est utilisé comme valeur par défaut. Seuls les types suivants sont pris en charge, pour les autresxsd:string
serait utilisé à la place :xsd:string
,xsd:integer
,xsd:decimal
,xsd:boolean
,xsd:date
,xsd:time
,xsd:dateTime
,xsd:duration
,gsp:wktLiteral
,rdf:langString
.- do_not_savebool, default False
True
si la valeur de la clé (ValueKey.value
) ne doit pas être sauvegardée.- valuerdflib.term.Literal or rdflib.term.URIRef, optional
La valeur mémorisée par la clé (objet du triplet RDF). Une clé fantôme ne sera effectivement créée que si une valeur est fournie pour ce paramètre ou si le paramètre delayed ci-après vaut
True
.- delayedbool, default False
Si
True
, autorise la création d’une clé-fantôme sans valeur, étant entendu que la valeur sera fournie ultérieurement. Ce paramètres est utile lorsque la valeur doit être dé-sérialisée en fonction des paramètres de la clé (par exemple avec la méthodeplume.rdf.widgetsdict.WidgetsDict.update_value()
), ce qui suppose que celle-ci soit préalablement initialisée.- value_languagestr, optional
La langue de l’objet. Obligatoire pour une valeur litérale de type
rdf:langString
et a fortiori dans un groupe de traduction, ignoré pour tous les autres types.- value_sourcerdflib.term.URIRef
La source utilisée par la valeur courante de la clé. Si la valeur fournie pour l’IRI ne fait pas partie des sources autorisées, elle sera silencieusement supprimée.
- is_long_textbool, default False
Dans le cas d’une valeur de type
xsd:string
ourdf:langString
, indique si le texte est présumé long (True
) ou court (False
, valeur par défaut). Même dans un groupe de valeurs, cette propriété est définie indépendamment pour chaque clé, afin qu’il soit possible de l’adapter à la longueur effective des valeurs.- geo_toolslist(str or rdflib.term.Literal)
Liste de fonctionnalités d’aide à la saisie des géométries disponibles pour la clé. Seules les valeurs suivantes seront prises en compte :
'show'
,'point'
,'linestring'
,'rectangle'
,'polygon'
,circle
,'bbox'
,'centroid'
.- computelist(str or rdflib.term.Literal), optional
Liste de modes de calcul disponibles pour la clé. Seules les valeurs “manual”, “auto”, “empty” et “new” sont reconnues à ce stade.
- compute_paramsdict, optional
Paramètres à fournir à la méthode de calcul.
- Attributes:
attr_to_copy
dict: Attributs de la classe à prendre en compte pour la copie des clés.
attr_to_update
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
available_languages
list(str): Renvoie la liste des langues disponibles pour la clé.
compute
list(str): Modes de calcul définis pour la clé.
compute_button_placement
tuple(int): Placement du bouton de calcul dans la grille, le cas échéant.
compute_params
dict: Paramètres à fournir à la méthode de calcul.
datatype
rdflib.term.URIRef: Renvoie le type de la valeur portée par la clé.
delayed
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
description
str: Descriptif de la métadonnée représentée par la clé.
do_not_save
bool: Faut-il ne pas sauvegarder la valeur renseignée sur la clé ?
generation
int: Génération à laquelle appartient la clé.
geo_button_placement
tuple(int): Placement du bouton d’aide à la saisie des géométries dans la grille, le cas échéant.
geo_tools
list(str): Fonctionnalités d’aide à la saisie des géométries disponibles pour la clé.
has_compute_button
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
has_geo_button
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
has_label
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
has_language_button
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
has_minus_button
bool: Un bouton moins est-il associé à la clé ?
has_source_button
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
has_unit_button
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
independant_label
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
input_mask
str: Masque de saisie à utiliser pour la clé.
is_ghost
bool: La clé est-elle une clé fantôme non matérialisée ?
is_hidden
bool: La clé est-elle masquée ?
is_hidden_b
bool: La clé est-elle un bouton masqué ?
is_hidden_m
bool: La clé appartient-elle à une branche masquée ?
is_long_text
bool: La valeur de la clé est-elle un long texte ?
is_main_twin
bool: La clé est-elle la jumelle référente du couple ?
is_mandatory
bool: Cette clé devra-t-elle obligatoirement recevoir une valeur ?
is_read_only
bool: La clé est-elle en lecture seule ?
is_single_child
bool: La clé est-elle un enfant unique ?
key_object
str: Transcription littérale du type de clé.
label
str: Etiquette de la clé.
label_placement
tuple(int): Placement de l’étiquette dans la grille, le cas échéant.
language_button_placement
tuple(int): Placement du bouton de sélection de la langue dans la grille, le cas échéant.
m_twin
ObjectKey: Clé jumelle.
main_language
Langue principale de saisie des métadonnées.
minus_button_placement
tuple(int): Placement du bouton moins dans la grille, le cas échéant.
order_idx
tuple(int): Indice de classement de la clé parmi ses soeurs.
parent
GroupKey: Clé parente.
path
rdflib.paths.SequencePath: Chemin représenté par la clé.
placeholder
str: Texte de substitution à utiliser pour la clé.
placement
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
predicate
rdflib.term.URIRef: Prédicat représenté par la clé.
rdfclass
rdflib.term.URIRef: La classe RDF de la clé-valeur.
regex_validator
str: Expression rationnelle de validation à utiliser pour la clé.
regex_validator_flags
str: Paramètres associés à l’expression rationnelle de validation de la clé.
row
int: Ligne de la clé dans la grille.
rowspan
int: Nombre de lignes de la grille occupées par la clé.
source_button_placement
tuple(int): Placement du bouton de sélection de la source dans la grille, le cas échéant.
sources
list(rdflib.term.URIRef): Liste de sources de la clé.
transform
{None, “email”, “phone”}: Nature de la transformation appliquée à l’objet.
tree_idx
tuple: Représentation du placement de la clé dans l’arbre.
unit_button_placement
tuple(int): Placement du bouton de sélection de l’unité dans la grille, le cas échéant.
units
list(str): Renvoie la liste des unités possibles pour la clé.
value
rdflib.term.URIRef or rdflib.term.Literal: Valeur portée par la clé (objet du triplet RDF).
value_language
str: Langue de la valeur portée par la clé.
value_source
rdflib.term.URIRef: Renvoie la source de la valeur portée par la clé.
value_unit
str: Unité de la valeur portée par la clé.
Methods
change_language
(value_language[, append_book])Change la langue d'une clé-valeur.
change_source
(value_source[, append_book])Change la source d'une clé-valeur.
change_unit
(value_unit[, append_book])Change l'unité d'une clé-valeur.
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
copy
([parent, empty])Renvoie une copie de la clé.
drop
([append_book, drop_single_children])Supprime une clé-objet.
is_empty
(**kwargs)La clé est-elle vide ?
kill
([preserve_twin])Efface une clé de la mémoire de son parent.
reinitiate_shared_attributes
()Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
switch_twin
([value_source, append_book])Intervertit la visibilité d'un couple de jumelles.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
- property attr_to_copy#
dict: Attributs de la classe à prendre en compte pour la copie des clés.
Cette propriété est un dictionnaire dont les clés sont les noms des attributs contenant les informations nécessaires pour dupliquer la clé, et les valeurs sont des booléens qui indiquent si l’attribut est à prendre en compte lorsqu’il s’agit de créer une copie vide de la clé.
Certains attributs sont volontairement exclus de cette liste, car ils requièrent un traitement spécifique.
Voir aussi
Notes
Réécriture de la propriété
WidgetKey.attr_to_copy
.
- property attr_to_update#
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
Notes
Réécriture de la propriété
WidgetKey.attr_to_update
.
- property available_languages#
list(str): Renvoie la liste des langues disponibles pour la clé.
Notes
Cette propriété est en lecture seule. Si la clé appartient à un groupe de traduction, la méthode va chercher la liste définie sur la clé parente. Sinon elle renvoie
WdigetKey.langlist
, ouNone
si le type de valeur ne suppose pas de langue.
- change_language(value_language, append_book=False)#
Change la langue d’une clé-valeur.
Utiliser cette méthode sur une clé non visible n’a pas d’effet, et le carnet d’actions renvoyé est vide.
- Parameters:
- value_languagestr
La nouvelle langue à déclarer.
- append_bookbool, default False
Si
True
, le carnet d’action n’est pas réinitialisé avant et après exécution, mais complété avec les nouvelles opérations réalisées.
- Returns:
- plume.rdf.actionsbook.ActionsBook
Le carnet d’actions qui permettra de répercuter le changement de langue sur les widgets.
Avertissement
Lorsque le paramètre append_book est utilisé pour enregistrer les actions de matérialisation d’un ensemble d’opérations réalisées successivement sur les clés, dans l’idée de pouvoir jouer ensuite ces actions en une seule fois, il importe de commencer par réinitialiser le carnet d’actions avec la méthode
WidgetKey.clear_actionsbook()
. À défaut, le carnet d’actions est susceptible de ne pas être vide au début du traitement. Quand append_book vautFalse
, la réinitialisation est systématique.
- change_source(value_source, append_book=False)#
Change la source d’une clé-valeur.
Utiliser cette méthode sur une clé non visible n’a pas d’effet, et le carnet d’actions renvoyé est vide.
- Parameters:
- value_sourcerdflib.term.URIRef
La nouvelle source à déclarer.
- append_bookbool, default False
Si
True
, le carnet d’action n’est pas réinitialisé avant et après exécution, mais complété avec les nouvelles opérations réalisées.
- Returns:
- plume.rdf.actionsbook.ActionsBook
Le carnet d’actions qui permettra de répercuter le changement de source sur les widgets.
Avertissement
Lorsque le paramètre append_book est utilisé pour enregistrer les actions de matérialisation d’un ensemble d’opérations réalisées successivement sur les clés, dans l’idée de pouvoir jouer ensuite ces actions en une seule fois, il importe de commencer par réinitialiser le carnet d’actions avec la méthode
WidgetKey.clear_actionsbook()
. À défaut, le carnet d’actions est susceptible de ne pas être vide au début du traitement. Quand append_book vautFalse
, la réinitialisation est systématique.
- change_unit(value_unit, append_book=False)#
Change l’unité d’une clé-valeur.
Utiliser cette méthode sur une clé non visible n’a pas d’effet, et le carnet d’actions renvoyé est vide.
- Parameters:
- value_unitstr
La nouvelle unité à déclarer.
- append_bookbool, default False
Si
True
, le carnet d’action n’est pas réinitialisé avant et après exécution, mais complété avec les nouvelles opérations réalisées.
- Returns:
- plume.rdf.actionsbook.ActionsBook
Le carnet d’actions qui permettra de répercuter le changement d’unité sur les widgets.
Avertissement
Lorsque le paramètre append_book est utilisé pour enregistrer les actions de matérialisation d’un ensemble d’opérations réalisées successivement sur les clés, dans l’idée de pouvoir jouer ensuite ces actions en une seule fois, il importe de commencer par réinitialiser le carnet d’actions avec la méthode
WidgetKey.clear_actionsbook()
. À défaut, le carnet d’actions est susceptible de ne pas être vide au début du traitement. Quand append_book vautFalse
, la réinitialisation est systématique.
- property compute#
list(str): Modes de calcul définis pour la clé.
Notes
Si la clé appartient à un groupe de valeurs, cette propriété vaudra toujours
None
.Il est permis de fournir en argument une liste de
rdflib.term.Literal
, qui seront alors automatiquement convertis.
- property compute_params#
dict: Paramètres à fournir à la méthode de calcul.
Notes
Si la clé appartient à un groupe de valeurs, cette propriété vaudra toujours
None
.Les paramètres sont fournis sous la forme clé/valeur, où la clé est une chaîne de caractères correspondant au nom du paramètre.
- copy(parent=None, empty=True)#
Renvoie une copie de la clé.
- Parameters:
- parentGroupKey, optional
La clé parente. Si elle n’est pas spécifiée, il sera considéré que le parent de la copie est le même que celui de l’original.
- emptybool, default True
Crée-t-on une copie vide (cas d’un nouvel enregistrement dans un groupe de valeurs ou de traduction) -
True
- ou souhaite-t-on dupliquer une branche de l’arbre de clés en préservant son contenu -False
?
- Returns:
- ValueKey
- Raises:
- ForbiddenOperation
Lorsque la méthode est explicitement appliquée à une clé fantôme. Il est possible de copier des branches contenant des fantômes, ceux-ci ne seront simplement pas copiés.
Notes
Complète la méthode
WidgetKey.copy()
en gérant le cas d’une clé jumelle. Concrètement, c’est alors la clé groupe de propriétés du couple qui est copiée (GroupOfPropertiesKey.copy()
porte le mécanisme de copie des couples), et la méthode renvoie ensuite sa jumelle.
- property datatype#
rdflib.term.URIRef: Renvoie le type de la valeur portée par la clé.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
ValueKey.rdfclass
prévaut surValueKey.datatype
: si le premier est renseigné, c’est que la valeur est un IRI ou un noeud anonyme, et le second ne peut qu’être nul. Sinon,xsd:string
est utilisé comme valeur par défaut.Seuls les types suivants sont pris en charge, pour les autres
xsd:string
serait utilisé à la place :xsd:string
,xsd:integer
,xsd:decimal
,xsd:boolean
,xsd:date
,xsd:time
,xsd:dateTime
,xsd:duration
,gsp:wktLiteral
,rdf:langString
.Modifier cette propriété emporte la mise en cohérence des propriétés
ValueKey.value_language
,ValueKey.is_long_text
,ValueKey.value_unit
,ValueKey.geo_tools
. En particulier, siValueKey.value_language
contient une langue mais queValueKey.datatype
n’est plusrdf:langString
, la langue sera silencieusement effacée. De même, la liste de fonctionnalités d’aide à la saisie contenue dansValueKey.geo_tools
sera définitivement perdue siValueKey.datatype
n’est plusgsp:wktLiteral
.
- property delayed#
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
Notes
Réécriture de la propriété
WidgetKey.delayed
.
- property do_not_save#
bool: Faut-il ne pas sauvegarder la valeur renseignée sur la clé ?
Notes
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- property geo_tools#
list(str): Fonctionnalités d’aide à la saisie des géométries disponibles pour la clé.
Notes
Si la clé appartient à un groupe de valeurs, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Cette propriété vaudra toujours
None
siValueKey.datatype
n’est pasgsp:wktLiteral
. Pour le typegsp:wktLiteral
, il s’agira toujours d’une liste, quitte à ce qu’elle soit vide.Seules les valeurs suivantes sont acceptées (les autres seront silencieusement éliminées) :
'show'
,'point'
,'linestring'
,'rectangle'
,'polygon'
,'circle'
,'bbox'
,'centroid'
.Lorsque la clé est en lecture seule, soit quand la propriété
ValueKey.is_read_only
vautTrue
, la liste contiendra au plus “show”. C’est le getter de la propriété qui génère à la volée une liste tronquée à partir de la liste mémorisée, afin de préserver toutes les valeurs pour le cas oùValueKey.is_read_only
reviendrait àFalse
.Il est permis de fournir en argument une liste de
rdflib.term.Literal
, qui seront alors automatiquement convertis.
- property has_compute_button#
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
Notes
Réécriture de la propriété
WidgetKey.has_compute_button
.Il n’y a jamais de bouton de calcul quand un bouton d’aide à la saisie des géométries est présent, car les deux seraient redondants.
- property has_geo_button#
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
Notes
Réécriture de la propriété
WidgetKey.has_geo_button
.Pour l’heure, de tels boutons ne sont prévus que pour les valeurs de type
gsp:wktLiteral
.Au contraire de la plupart des autres boutons, des boutons d’aide à la saisie des géométries peuvent accompagner des clés en lecture seule (c’est-à-dire pour lesquelles la propriété
ValueKey.is_read_only
vautTrue
), car ils portent aussi des fonctionnalités de visualisation. C’est la propriétéValueKey.geo_tools
qui se charge d’éliminer les fonctionnalités d’édition.
- property has_label#
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
- property has_language_button#
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
Notes
Réécriture de la propriété
WidgetKey.has_language_button
.
- property has_source_button#
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
Notes
Réécriture de la propriété
WidgetKey.has_source_button
.
- property has_unit_button#
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
Notes
Réécriture de la propriété
WidgetKey.has_unit_button
.Pour l’heure, de tels boutons ne sont prévus que pour les valeurs de type
xsd:duration
.
- property independant_label#
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
Notes
Réécriture de la propriété
WidgetKey.independant_label
.Cette propriété vaudra toujours
False
pour une clé fantôme ou qui n’a pas d’étiquette. Par défaut, il est également considéré qu’elle vautFalse
.Il n’est pas permis à une clé jumelle d’avoir une étiquette indépendante, car les deux jumelles doivent occuper exactement le même nombre de lignes de la grille, et le groupe de propriétés n’en occupe qu’une. La valeur sera mise silencieusement à
False
dans ce cas.Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.Modifier cette propriété emporte la mise en cohérence de la propriété
WidgetKey.row
pour toutes les clés du groupe parent.
- property input_mask#
str: Masque de saisie à utiliser pour la clé.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- is_empty(**kwargs)#
La clé est-elle vide ?
Renvoie simplement
True
si l’attribut :py:attr:ValueKey.value
de la clé vautNone
.Notes
Cette méthode admet des paramètres arbitraires pour qu’elle puisse être appelée dans les mêmes conditions que les méthodes de même nom définies sur d’autres classes de clés. En pratique, elle n’en utilise aucun.
- property is_long_text#
bool: La valeur de la clé est-elle un long texte ?
Notes
Cette propriété ne peut valoir
True
que pour une valeur textuelle (rdf:langString
,xsd:string
,gsp:wktLiteral
). Toute tentative dans d’autres circonstances serait silencieusement ignorée.Elle vaut toujours
True
pour le typegsp:wktLiteral
.Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.Modifier cette propriété emporte la mise en cohérence de la propriété
WidgetKey.rowspan
.
- property is_mandatory#
bool: Cette clé devra-t-elle obligatoirement recevoir une valeur ?
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- property key_object#
str: Transcription littérale du type de clé.
- property placeholder#
str: Texte de substitution à utiliser pour la clé.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- property rdfclass#
rdflib.term.URIRef: La classe RDF de la clé-valeur.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Si la clé a une jumelle dont la classe est différente de la valeur fournie, c’est celle de la jumelle de référence qui prévaudra, sauf si elle vaut
None
. Autrement dit, pour changer la classe d’un couple de jumelles, il faut cibler la jumelle de référence, sans quoi l’opération n’aura pas d’effet.Modifier cette propriété emporte la mise en cohérence de la propriété
ValueKey.datatype
.
- property regex_validator#
str: Expression rationnelle de validation à utiliser pour la clé.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Dans le cas d’une clé prenant pour valeur des IRI libres (non issues d’un thésaurus) et pour laquelle aucune expression rationnelle n’est explicitement définie, y compris par héritage, la propriété renvoie une expression rationnelle permettant
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.Modifier cette propriété emporte la mise en cohérence de la propriété
ValueKey.regex_validator_flags
.
- property regex_validator_flags#
str: Paramètres associés à l’expression rationnelle de validation de la clé.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Toute tentative pour définir une valeur pour cette propriété alors que
ValueKey.regex_validator
vautNone
sera silencieusement ignorée.Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties.
- property rowspan#
int: Nombre de lignes de la grille occupées par la clé.
Notes
rowspan vaudra toujours
0
pour une clé fantôme. Si aucune valeur n’est fournie, une valeur par défaut de1
est appliquée. rowspan vaut toujours1
quandis_long_text
vautFalse
ou pour une clé qui a une jumelle.Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties. De même pour des valeurs qui se trouveraient être fournies sous forme de chaîne de caractères.Modifier cette propriété emporte la mise en cohérence de la propriété
WidgetKey.row
pour toutes les clés du groupe parent, viaGroupKey.compute_rows()
.
- property sources#
list(rdflib.term.URIRef): Liste de sources de la clé.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Modifier cette propriété emporte la mise en cohérence de la propriété
ValueKey.value_source
.
- property transform#
{None, “email”, “phone”}: Nature de la transformation appliquée à l’objet.
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, la propriété du groupe parent est renvoyée. Tenter d’en modifier la valeur n’aura silencieusement aucun effet.
Il est permis de fournir des valeurs de type
rdflib.term.Literal
, qui seront alors automatiquement converties. Toute tentative pour définir une transformation autre que celles listées ci-avant sera silencieusement ignorée.
- property units#
list(str): Renvoie la liste des unités possibles pour la clé.
Notes
Les valeurs dépendent du type -
ValueKey.datatype
. Pour l’heure, seulxsd:duration
suppose des unités, la propriété renverraNone
pour les valeurs non littérales ou de tout autre type.
- property value#
rdflib.term.URIRef or rdflib.term.Literal: Valeur portée par la clé (objet du triplet RDF).
- property value_language#
str: Langue de la valeur portée par la clé.
Tant qu’aucune langue n’a été explicitement définie, et s’il y a lieu de renvoyer une langue, c’est la langue principale de saisie des métadonnées qui est renvoyée.
Notes
Si
ValueKey.datatype
n’est pasrdf:langString
, cette propriété vaudra toujoursNone
.À l’initialisation, si aucune langue n’est fournie, elle sera déduite de
ValueKey.value
si une valeur a été spécifiée. À défaut, dans un groupe de traduction, la première langue de la liste des langues disponibles sera utilisée.
- property value_source#
rdflib.term.URIRef: Renvoie la source de la valeur portée par la clé.
Notes
ValueKey.value_source
vaut toujoursNone
quand la clé n’admet pas de sources de vocabulaire contrôlé. Elle peut valoirNone
alors queValueKey.sources
n’est pas nul, si la source fournie n’était pas référencée. Sinon, toute valeur prise par cette propriété est nécessairement une des valeurs de la liste de l’attributValueKey.sources
.Si aucune source n’est fournie et qu’il n’y a pas non plus de valeur (
ValueKey.value
est None), la première source deValueKey.sources
est utilisée.Modifier la source post initialisation a pour effet d’effacer la valeur mémorisée (
ValueKey.value
), puisque l’ancienne valeur est présumée issue de l’ancienne source.
- property value_unit#
str: Unité de la valeur portée par la clé.
Notes
Si
ValueKey.datatype
n’est pasxsd:duration
, cette propriété vaudra toujoursNone
.Cette propriété est déduite de
ValueKey.value
(et mise à jour quandValueKey.value
est modifié). À défaut, il s’agira de la première valeur de la listeValueKey.units
.Modifier cette propriété ne change pas
ValueKey.value
. Autrement dit, l’unité effectivement incluse dans la valeur prévaut toujours sur cette propriété, puisque c’est elle qui sera conservée lors de la transformation en graphe parRootKey.build_metagraph()
.
- class plume.rdf.widgetkey.WidgetKey(**kwargs)#
Bases :
object
Clé d’un dictionnaire de widgets.
- Parameters:
- parentGroupKey
La clé parente. Ne peut pas être
None
, sauf dans le cas d’un objet de la classeRootKey
(groupe racine).- is_ghostbool, default False
True
si la clé ne doit pas être matérialisée. À noter que quelle que soit la valeur fournie à l’initialisation, une fille de clé fantôme est toujours un fantôme.- order_idxtuple of int, default (999,)
Indice(s) permettant le classement de la clé parmi ses soeurs dans un groupe de propriétés. Les clés de plus petits indices seront les premières. Cet argument sera ignoré si le groupe parent est un groupe de valeurs (
GroupOfvaluesKey
).
Avertissement
Cette classe ne doit pas être utilisée directement pour créer de nouvelles clés. On préfèrera toujours les classes filles qui héritent de ses méthodes et attributs :
RootKey
pour la clé racine d’un arbre de clés.GroupOfPropertiesKey
pour les groupes de propriétés.GroupOfValuesKey
pour les groupes de valeurs.TranslationGroupKey
pour les groupes de traduction.TabKey
pour les onglets.ValueKey
pour les clés-valeurs (correspondent auxwidgets de saisie).
PlusButtonKey
pour les boutons plus des groupes de valeurs.TranslationButtonKey
pour les boutons de traduction.
- Attributes:
- uuidUUID
Identifiant unique de la clé.
Methods
clear_actionsbook
(**kwargs)Remplace le carnet d'actions par un carnet vierge.
copy
([parent, empty])Renvoie une copie de la clé.
kill
()Efface une clé de la mémoire de son parent.
Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
unload_actionsbook
([preserve_book])Renvoie le carnet d'actions et le remplace par un carnet vierge.
update
([exclude_none])Met à jour les attributs de la clé selon les valeurs fournies.
width
(kind)Renvoie le nombre de colonnes occupées par l'élément.
- actionsbook = <plume.rdf.actionsbook.ActionsBook object>#
plume.rdf.actionsbook.ActionsBook: Carnet d’actions, qui trace les actions à réaliser sur les widgets suite aux modifications des clés.
Le carnet d’actions trace les actions à réaliser sur les widgets au fil des modifications des clés. Pour le réinitialiser, on utilisera la méthode de classe
clear_actionsbook()
, etunload_actionsbook()
pour le récupérer.Notes
Cet attribut est partagé par toutes les instances de la classe.
- property attr_to_copy#
dict: Attributs de la classe à prendre en compte pour la copie des clés.
Cette propriété est un dictionnaire dont les clés sont les noms des attributs contenant les informations nécessaires pour dupliquer la clé, et les valeurs sont des booléens qui indiquent si l’attribut est à prendre en compte lorsqu’il s’agit de créer une copie vide de la clé.
Certains attributs sont volontairement exclus de cette liste, car ils requièrent un traitement spécifique.
Voir aussi
Notes
Plusieurs classes filles de
WidgetKey
redéfinissent cette propriété, en complétant le dictionnaire avec leurs propres attributs.
- property attr_to_update#
list(str): Liste des attributs et propriétés pouvant être redéfinis post initialisation.
Notes
Plusieurs des classes filles de
WidgetKey
redéfinissent cette propriété en ajoutant ou retirant des attributs à la liste.
- classmethod clear_actionsbook(**kwargs)#
Remplace le carnet d’actions par un carnet vierge.
- Parameters:
- **kwargsdict, optional
Paramètres à passer à la fonction d’initialisation de la classe
plume.rdf.actionsbook.ActionsBook
.
- property compute_button_placement#
tuple(int): Placement du bouton de calcul dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme ou qui n’a pas de bouton de calcul.Notes
Le bouton de calcul est placé à droite du widget principal et des éventuels boutons de sélection de l’unité, bouton de sélection la langue et bouton de sélection de la source et bouton d’aide à la saisie des géométries (en supposant qu’ils puissent apparaître ensemble).
- copy(parent=None, empty=True)#
Renvoie une copie de la clé.
- Parameters:
- parentGroupKey, optional
La clé parente. Si elle n’est pas spécifiée, il sera considéré que le parent de la copie est le même que celui de l’original.
- emptybool, default True
Crée-t-on une copie vide (cas d’un nouvel enregistrement dans un groupe de valeurs ou de traduction) -
True
- ou souhaite-t-on dupliquer une branche de l’arbre de clés en préservant son contenu -False
?
- Returns:
- WidgetKey
- Raises:
- ForbiddenOperation
Lorsque la méthode est explicitement appliquée à une clé fantôme. Il est possible de copier des branches contenant des fantômes, ceux-ci ne seront simplement pas copiés.
Notes
Cette méthode est complétée sur la classe
GroupKey
pour copier également la branche descendant de la clé, surGroupOfValuesKey
pour les boutons, et surGroupOfPropertiesKey
etValueKey
pour la jumelle éventuelle. Elle utilise la propriétéattr_to_copy
, qui liste les attributs non calculables de chaque classe.
- property delayed#
bool: La valeur de la clé sera-t-elle remplie ultérieurement ?
Voir aussi
ValueKey.delayed
Réécriture de la propriété pour une clé-valeur.
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests, mais elle vaut toujoursFalse
quand la clé n’est pas une clé-valeur.
- property generation#
int: Génération à laquelle appartient la clé.
0
pour la clé-racine,1
pour ses enfants, etc.
- property geo_button_placement#
tuple(int): Placement du bouton d’aide à la saisie des géométries dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme ou qui n’a pas de bouton de sélection d’aide à la saisie des géométries.Notes
Le bouton d’aide à la saisie des géométries est placé à droite du widget principal et des éventuels boutons de sélection de l’unité, bouton de sélection la langue et bouton de sélection de la source (lesquels ne peuvent en pratique jamais apparaître en même temps qu’un bouton d’aide à la saisie des géométries).
- property has_compute_button#
bool: Un bouton annexe de calcul de la métadonnée doit-il être créé pour la clé ?
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests, mais elle vaut toujoursFalse
quand la clé n’est pas une clé-valeur (ValueKey
) ou un groupe de valeurs.
- property has_geo_button#
bool: Un bouton annexe d’aide à la saisie des géométries doit-il être créé pour la clé ?
Voir aussi
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests, mais elle vaut toujoursFalse
quand la clé n’est pas une clé-valeur (ValueKey
).
- property has_label#
bool: Une étiquette non intégrée au widget principal doit-elle être créée pour la clé ?
Voir aussi
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests, mais elle vaut toujoursFalse
quand la clé n’est pas une clé-valeur (ValueKey
).
- property has_language_button#
bool: Un bouton annexe de sélection de la langue doit-il être créé pour la clé ?
Voir aussi
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests, mais elle vaut toujoursFalse
quand la clé n’est pas une clé-valeur (ValueKey
).
- property has_minus_button#
bool: Un bouton moins est-il associé à la clé ?
Voir aussi
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests, mais elle vaut toujoursFalse
quand la clé n’est pas une clé-objet (ObjectKey
).
- property has_source_button#
bool: Un bouton annexe de sélection de la source doit-il être créé pour la clé ?
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests, mais elle vaut toujoursFalse
quand la clé n’est pas une clé-objet (ObjectKey
).
- property has_unit_button#
bool: Un bouton annexe de sélection de l’unité doit-il être créé pour la clé ?
Voir aussi
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests, mais elle vaut toujoursFalse
quand la clé n’est pas une clé-valeur (ValueKey
).
- property independant_label#
bool: L’étiquette de la clé occupe-t-elle sa propre ligne de la grille ?
Voir aussi
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests, mais elle vaut toujoursFalse
quand la clé n’est pas une clé-valeur (ValueKey
).
- property is_ghost#
bool: La clé est-elle une clé fantôme non matérialisée ?
Voir aussi
GroupOfPropertiesKey.is_ghost
Réécriture de la propriété pour les groupes de propriétés.
GroupOfValuesKey.is_ghost
Réécriture de la propriété pour les groupes de valeurs.
TabKey.is_ghost
Réécriture de la propriété pour les onglets.
Notes
Cette propriété n’est plus modifiable une fois la clé initialisée, sauf pour les certains groupes dont, entre autres conditions, tous les enfants sont des fantômes.
is_ghost
définit la valeur booléenne de la clé :bool(widgetkey)
vautFalse
siwidgetkey
est une clé fantôme.
bool: La clé est-elle masquée ?
Cette propriété, qui synthétise
is_ghost
,is_hidden_b
etis_hidden_m
, vautTrue
pour une clé masquée ou fantôme. Elle permet de filtrer les clés non matérialisées ou non visibles.Notes
Cette propriété est en lecture seule.
bool: La clé est-elle un bouton masqué ?
Voir aussi
PlusButtonKey.is_hidden_b
Réécriture de la propriété pour un bouton plus.
TranslationButtonKey.is_hidden_b
Réécriture de la propriété pour un bouton de traduction.
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
pour simplifier les tests de visibilité, mais elle vaut toujoursFalse
quand la clé n’est pas un bouton.
bool: La clé appartient-elle à une branche masquée ?
Cette propriété héréditaire vaut
True
pour la clé présentement masquée d’un couple de jumelles, ou toute clé descendant de celle-ci (branche masquée).Voir aussi
ObjectKey.is_hidden_m
Réécriture de la propriété pour les clés-objets.
Notes
Cette propriété est en lecture seule. Le setter est défini sur la classe
ObjectKey
.
- property is_single_child#
bool: La clé est-elle un enfant unique ?
Notes
Propriété calculée par
GroupOfValuesKey.compute_single_children()
, accessible uniquement en lecture.
- kill()#
Efface une clé de la mémoire de son parent.
Notes
Cette méthode n’est pas appliquée récursivement aux enfants de la clé effacée. Elle coupe simplement la branche de l’arbre. Pour autant tous les descendants de la clé sont enregistrés la liste
plume.rdf.actionsbook.ActionsBook.drop
du carnet d’actions.La méthode est sans effet sur les clés-racine (
RootKey
).
- property label_placement#
tuple(int): Placement de l’étiquette dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme, qui n’a pas d’étiquette ou dont l’étiquette est intégrée au widget principal.
- langlist = ['fr', 'en']#
list(str): Liste des langues autorisées.
Avertissement
Cet attribut est partagé par toutes les instances de la classe. Il ne doit sous aucun prétexte être modifié après l’initialisation de l’arbre de clés.
- property language_button_placement#
tuple(int): Placement du bouton de sélection de la langue dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme ou qui n’a pas de bouton de sélection de la langue.Notes
Le bouton de sélection de la source est placé à droite du widget principal et de l’éventuel bouton de sélection de la langue. En pratique, les boutons de sélection d’unité et de sélection de la langue étant liés à des types différents, ils n’apparaissent jamais simultanément et le bouton de sélection de la langue sera placé immédiatement à droite du widget principal.
- property main_language#
Langue principale de saisie des métadonnées.
Cette propriété est commune à toutes les clés. Concrètement, main_language est simplement la première valeur de
langlist
.- Returns:
- str
- Raises:
- MissingParameter
Si
langlist
ne contient pas au moins une valeur.
- max_rowspan = 30#
int: Nombre maximum de lignes pouvant être occupées par un widget.
Avertissement
Cet attribut est partagé par toutes les instances de la classe. Il ne doit sous aucun prétexte être modifié après l’initialisation de l’arbre de clés.
- property minus_button_placement#
tuple(int): Placement du bouton moins dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme ou qui n’a pas de bouton moins.Notes
Le bouton moins est placé à droite du widget principal et des éventuels boutons de sélection de l’unité, de sélection de la langue, de sélection de la source, d’aide à la saisie des géométries et de calcul.
- no_computation = False#
bool: Si True, empêche l’exécution immédiate de certaines opérations.
Les opérations concernées sont les plus coûteuses en temps de calcul : le calcul des lignes et le calcul des langues disponibles dans les groupes de traduction. Il peut être préférable de réaliser ces opérations après avoir initialisé toutes les clés du groupe, plutôt qu’une fois pour chaque clé.
Notes
Cet attribut est partagé par toutes les instances de la classe.
- property order_idx#
tuple(int): Indice de classement de la clé parmi ses soeurs.
Voir aussi
Notes
Si la clé appartient à un groupe de valeurs ou de traduction, modifier la valeur de cette propriété n’aura silencieusement aucun effet, car il n’y a pas de notion d’ordre dans ces groupes.
WidgetKey.order_idx
y vaut toujoursNone
. Dans le cas contraire,None
est silencieusement remplacé par(9999,)
, de manière ce que les clés sans indice soient classées après les autres.Modifier cette propriété emporte la mise en cohérence de la propriété
WidgetKey.row
pour toutes les clés du groupe parent.
- property parent#
GroupKey: Clé parente.
- Raises:
- MissingParameter
Quand aucune clé n’est fournie pour le parent.
- ForbiddenOperation
En cas de tentative de modification du parent post initialisation de la clé.
- ForbiddenOperation
Si la classe de l’enfant n’est pas cohérente avec celle du parent.
- ForbiddenOperation
En cas de tentative pour mêler des onglets et des clés d’autres types dans un même groupe.
Notes
Cette propriété n’est plus modifiable après l’initialisation. Pour reproduire la clé avec un autre parent, on utilisera la méthode
WidgetKey.copy()
.WidgetKey.kill()
permet d’effacer la clé d’origine si besoin.
- property path#
rdflib.paths.SequencePath: Chemin de la clé.
Voir aussi
Notes
Cette propriété est en lecture seule. Elle est définie sur la classe
WidgetKey
par commodité, mais elle vautNone
si la clé n’appartient pas aux classesObjectKey
ouGroupOfValuesKey
.
- property placement#
tuple(int): Placement du widget principal de la clé dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme, un onglet ou une clé-racine.Voir aussi
Rend leur valeur par défaut à toutes les variables partagées par les instances de la classe.
- property row#
int: Ligne de la clé dans la grille.
Vaut toujours
None
pour une clé fantôme.Notes
Propriété calculée par
GroupKey.compute_rows()
, accessible uniquement en lecture.
- property rowspan#
int: Nombre de lignes de la grille occupées par la clé.
Voir aussi
Notes
Cette propriété est en lecture seule. Dans le cas général, elle vaut
1
si la clé n’est pas un fantôme (cf.WidgetKey.is_ghost
) et0
sinon. Elle ne peut être modifiée et prendre d’autres valeurs que pour les clés-valeurs.
- property source_button_placement#
tuple(int): Placement du bouton de sélection de la source dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme ou qui n’a pas de bouton de sélection de la source.Notes
Le bouton de sélection de la source est placé à droite du widget principal et des éventuels boutons de sélection de l’unité et bouton de sélection la langue (lesquels ne peuvent en pratique jamais apparaître en même temps qu’un bouton de sélection de la source).
- property tree_idx#
tuple: Représentation du placement de la clé dans l’arbre.
- property unit_button_placement#
tuple(int): Placement du bouton de sélection de l’unité dans la grille, le cas échéant.
Cette propriété est un tuple formé de quatre éléments :
[0]
est l’indice de ligne.[1]
est l’indice de colonne.[2]
est le nombre de lignes occupées.[3]
est le nombre de colonnes occupées.
Elle vaut
None
pour une clé fantôme ou qui n’a pas de bouton de sélection d’unité.Notes
Le bouton de sélection d’unité est placé immédiatement à droite du widget principal.
- classmethod unload_actionsbook(preserve_book=False)#
Renvoie le carnet d’actions et le remplace par un carnet vierge.
- Parameters:
- preserve_bookbool, default False
Si
True
le carnet d’actions n’est pas réinitialisé après récupération de son contenu.
- Returns:
- plume.rdf.actionsbook.ActionsBook
- update(exclude_none=False, **kwargs)#
Met à jour les attributs de la clé selon les valeurs fournies.
- Parameters:
- exclude_nonebool
Si
True
, les attributs ne seront mis à jour que si la nouvelle valeur n’est pasNone
.- **kwargsdict
Les attributs à mettre à jour. Si un attribut n’est pas défini pour la classe de la clé ou s’il n’est pas modifiable, il sera silencieusement ignoré.
- classmethod width(kind)#
Renvoie le nombre de colonnes occupées par l’élément.
- Parameters:
- kindstr
Une chaîne de caractère correspondant au nom de l’élément :
“grid” pour la largeur totale de la grille.
“label” pour une étiquette positionnée sur la même ligne que le widget de saisie. La largeur n’est pas fixe pour les étiquettes indépendantes (quand
WidgetKey.independant_label
vautTrue
), mais calée sur le nombre de colonnes occupées par le widget de saisie.“unit button” pour un bouton de sélection de l’unité.
“language button” pour un bouton de sélection de la langue.
“source button” pour un bouton de sélection de la source.
“geo button” pour un bouton d’aide à la saisie des géométries.
“compute button” pour un bouton de calcul.
“minus button” pour un bouton moins.
“plus button” pour un bouton plus.
- Returns:
- int
- with_compute_buttons = True#
bool: Faut-il créer des boutons de calcul des métadonnées ?
Mettre cet attribut à
False
permet d’inhiber la création des boutons de calcul, s’il y avait par ailleurs lieu d’en créer.Avertissement
Cet attribut est partagé par toutes les instances de la classe. Il ne doit sous aucun prétexte être modifié après l’initialisation de l’arbre de clés.
- with_geo_buttons = True#
bool: Faut-il créer des boutons d’aide à la saisie des géométries ?
Mettre cet attribut à
False
permet d’inhiber la création des boutons d’aide à la saisie des géométries, s’il y avait par ailleurs lieu d’en créer.Avertissement
Cet attribut est partagé par toutes les instances de la classe. Il ne doit sous aucun prétexte être modifié après l’initialisation de l’arbre de clés.
- with_language_buttons = True#
bool: Faut-il créer des boutons de sélection de la langue ?
Mettre cet attribut à
False
permet d’inhiber la création des boutons de choix de la langue, s’il y avait par ailleurs lieu d’en créer.Avertissement
Cet attribut est partagé par toutes les instances de la classe. Il ne doit sous aucun prétexte être modifié après l’initialisation de l’arbre de clés.
- with_source_buttons = True#
bool: Faut-il créer des boutons de sélection de la source ?
Mettre cet attribut à
False
permet d’inhiber la création des boutons de choix de la source, s’il y avait par ailleurs lieu d’en créer.Avertissement
Cet attribut est partagé par toutes les instances de la classe. Il ne doit sous aucun prétexte être modifié après l’initialisation de l’arbre de clés.
- with_unit_buttons = True#
bool: Faut-il créer des boutons de sélection d’unité ?
Mettre cet attribut à
False
permet d’inhiber la création des boutons de choix de l’unité, s’il y avait par ailleurs lieu d’en créer.Avertissement
Cet attribut est partagé par toutes les instances de la classe. Il ne doit sous aucun prétexte être modifié après l’initialisation de l’arbre de clés.