Aller au contenu

sdk_entrepot_gpf.store#

StoreEntity(store_api_dict, datastore=None) #

Bases: ABC

Représentation Python d'une entité de l'entrepôt.

Parameters:

Name Type Description Default
store_api_dict Dict[str, Any]

Propriétés de l'entité telles que renvoyées par l'API

required

Classe instanciée à partir de la représentation envoyée par l'API d'une entité.

datastore property #

Renvoie l'identifiant du datastore de l'entité

Returns:

Type Description
Optional[str]

identifiant du datastore de l'entité None si non défini

id property #

Renvoie l'identifiant de l'entité.

Returns:

Type Description
str

Identifiant de l'entité.

api_create(data, route_params=None) classmethod #

Crée une nouvelle entité dans l'API.

Parameters:

Name Type Description Default
data Optional[Dict[str, Any]]

Données nécessaires pour la création.

required
route_params Optional[Dict[str, Any]]

Paramètres de résolution de la route.

None

Returns:

Type Description
StoreEntity

Entité créée

api_delete() #

Supprime l'entité de l'API.

api_get(id_, datastore=None) classmethod #

Récupère une entité depuis l'API.

Parameters:

Name Type Description Default
id_ str

Identifiant de l'entité

required
datastore Optional[str]

Identifiant du datastore

None

Returns:

Type Description
StoreEntity

L'entité instanciée correspondante

api_list(infos_filter=None, tags_filter=None, page=None, datastore=None) classmethod #

Liste les entités de l'API respectant les paramètres donnés.

Parameters:

Name Type Description Default
infos_filter Optional[Dict[str, str]]

Filtres sur les attributs sous la forme {"nom_attribut": "valeur_attribut"}

None
tags_filter Optional[Dict[str, str]]

Filtres sur les tags sous la forme {"nom_tag": "valeur_tag"}

None
page Optional[int]

Numéro page à récupérer, toutes si None.

None
datastore Optional[str]

Identifiant du datastore

None

Returns:

Type Description
List[StoreEntity]

liste des entités retournées par l'API

api_update() #

Met à jour l'instance Python représentant l'entité en récupérant les infos à jour sur l'API. Seules les informations Python sont modifiées, à ne pas confondre avec une fonction d'édition.

delete_cascade(before_delete=None) #

Suppression en cascade d'une entité en supprimant les entités liées (qui vont dépendre du type de l'entité, donc cf. les classes filles).

Parameters:

Name Type Description Default
before_delete Optional[Callable[[List[StoreEntity]], List[StoreEntity]]]

fonction à lancer avant la suppression (entrée : liste des entités à supprimer, sortie : liste définitive des entités à supprimer). Defaults to None.

None

delete_liste_entities(l_entities, before_delete=None) staticmethod #

Suppression d'une liste d’entités. Exécution de before_delete(l_entities) avant la suppression, before_delete retourne la nouvelle liste des éléments à supprimer.

Parameters:

Name Type Description Default
l_entities List[StoreEntity]]

liste des entités à supprimer

required
before_delete Optional[Callable[[List[StoreEntity]], List[StoreEntity]]]

fonction à lancer avant la suppression (entrée : liste des entités à supprimer, sortie : liste définitive des entités à supprimer). Defaults to None.

None

edit(data_edit) #

Mise à jour de l'entité

Parameters:

Name Type Description Default
data_edit Dict[str, Any]

nouvelles valeurs de propriétés

required

filter_dict_from_str(filters) staticmethod #

Les filtres basés les tags ou les propriétés sont écrits sous la forme name=value,name=value. Cette fonction transforme une liste de clés-valeurs sous cette forme en dictionnaire de la forme {"name":"value","name":"value"}.

Parameters:

Name Type Description Default
filters Optional[str]

Liste de filtres ayant la forme name=value,name=value

required

Returns:

Type Description
Dict[str, str]

Dictionnaire ayant la forme {"name": "value", "name": "value"}

Examples:

Conversion classique :

>>> filter_dict_from_str("name=value,name=value")
{'name':'value','name':'value'}

Les espaces ne changent rien :

>>> filter_dict_from_str("name = value , name= value")
{'name':'value','name':'value'}

La valeur None renvoie un dictionnaire vide :

>>> filter_dict_from_str(None)
{}

Raises:

Type Description
StoreEntityError

Levée si un filtre ne contient pas le caractère =.

get(key) #

Récupération de la clef indiquée si elle existe, None sinon.

Parameters:

Name Type Description Default
key str

clef à récupérer. Mode JS possible.

required

Returns:

Name Type Description
Any Any

valeur demandée ou None si non trouvée.

get_liste_deletable_cascade() #

liste les entités à supprimer lors d'une suppression en cascade

Returns:

Type Description
List[StoreEntity]

List[StoreEntity]: liste des entités qui seront supprimées

get_store_properties(keeps=[]) #

Renvoie les propriétés de l'entité telles que renvoyées par l'API.

Parameters:

Name Type Description Default
keeps List[str]

Liste des propriétés à conserver. Si vide, toutes les propriétés sont renvoyées.

[]

Returns:

Type Description
Dict[str, Any]

Propriétés de l'entité (sous la même forme que celle renvoyée par l'API)

to_json(indent=None) #

Renvoie les propriétés de l'entité en JSON éventuellement indentées.

Parameters:

Name Type Description Default
indent Optional[int]

Nombre d'espaces pour chaque indentation.

None

Returns:

Type Description
str

Propriétés de l'entité en JSON éventuellement indentées.

AbstractCommonFile(store_api_dict, datastore=None) #

Bases: DownloadInterface, StoreEntity, ABC

Classe abstraite Python pour les Fichiers communs.

api_create(data, route_params=None) classmethod #

Crée une nouvelle entité dans l'API.

Parameters:

Name Type Description Default
data Optional[Dict[str, Any]]

Données nécessaires pour la création.

required
route_params Optional[Dict[str, Any]]

Paramètres de résolution de la route.

None

Returns:

Type Description
StoreEntity

Entité créée

api_delete() #

Supprime l'entité de l'API.

Access(store_api_dict, datastore=None) #

Bases: StoreEntity

Classe Python représentant l'entité Access (accès).

api_create(data, route_params=None) classmethod #

Crée un de nouvel accès dans l'API.

Parameters:

Name Type Description Default
data Optional[Dict[str, Any]]

Données nécessaires pour la création.

required
route_params Optional[Dict[str, Any]]

Paramètres de résolution de la route.

None

Returns:

Name Type Description
bool bool

True si entité créée

api_delete() #

Supprime l'entité de l'API.

Annexe(store_api_dict, datastore=None) #

Bases: CreatedByUploadFileInterface, DownloadInterface, PartialEditInterface, ReUploadFileInterface, StoreEntity

Classe Python représentant l'entité Annexe (annexe).

Cette classe permet d'effectuer les actions spécifiques liées aux annexe : création, remplacement, mise à jour, suppression.

publish_by_label(labels, datastore=None) staticmethod #

Publication de toutes les annexes ayant les labels indiqués.

Parameters:

Name Type Description Default
labels List[str]

liste des labels

required
datastore Optional[str]

Identifiant du datastore

None

Returns:

Name Type Description
int int

nombre d'annexes publiées

unpublish_by_label(labels, datastore=None) staticmethod #

Dépublication de toutes les annexes ayant les labels indiqués.

Parameters:

Name Type Description Default
labels List[str]

liste des labels

required
datastore Optional[str]

Identifiant du datastore

None

Returns:

Name Type Description
int int

nombre d'annexes de dépubliées

Check(store_api_dict, datastore=None) #

Bases: StoreEntity

Classe Python représentant l'entité Check (vérification).

CheckExecution(store_api_dict, datastore=None) #

Bases: CsfInterface, LogsInterface, StoreEntity

Classe Python représentant l'entité CheckExecution (exécution de vérification).

Configuration(store_api_dict, datastore=None) #

Bases: TagInterface, CommentInterface, EventInterface, FullEditInterface, StoreEntity

Classe Python représentant l'entité Configuration (configuration).

api_add_offering(data_offering) #

Ajoute une Offering à cette Configuration. Args: data_offering (Dict[str, Any]): données pour la création de l'Offering Returns: Offering: représentation Python de l'Offering créée

api_list_offerings() #

Liste les Offering liées à cette Configuration. Returns: List[Offering]: liste des Offering trouvées

edit(data_edit) #

Mise à jour totale de l'entité en fusionnant le nouveau dictionnaire (prioritaire) et l'ancien. Pour les configurations, il faut en plus fusionner le sous dictionnaire "type_infos" et la liste "used_data" qu'il contient. Si la nouvelle liste et l'ancienne liste n'ont pas la même taille, une exception est levée.

Parameters:

Name Type Description Default
data_edit Dict[str, Any]

nouvelles valeurs de propriétés

required

get_liste_deletable_cascade() #

liste les entités à supprimé lors d'une suppression en cascade de la Configuration en supprimant en cascade les offres liées (et uniquement les offres, pas les données stockées).

Returns:

Type Description
List[StoreEntity]

List[StoreEntity]: liste des entités qui seront supprimées

Datastore(store_api_dict, datastore=None) #

Bases: StoreEntity

Classe Python représentant l'entité Store (entrepôt).

api_list(infos_filter=None, tags_filter=None, page=None, datastore=None) classmethod #

Liste les entités de l'API respectant les paramètres donnés.

Parameters:

Name Type Description Default
infos_filter Optional[Dict[str, str]]

Filtres sur les attributs sous la forme {"nom_attribut": "valeur_attribut"}

None
tags_filter Optional[Dict[str, str]]

Filtres sur les tags sous la forme {"nom_tag": "valeur_tag"}

None
page Optional[int]

Numéro page à récupérer, toutes si None.

None
datastore Optional[str]

Identifiant du datastore

None

Returns:

Type Description
List[StoreEntity]

liste des entités retournées par l'API

get_id(datastore) staticmethod #

récupération de l'id du datastore à partir de son nom ou id

Parameters:

Name Type Description Default
datastore str

nom ou id du datastore

required

Returns:

Name Type Description
str str

id du datastore

Endpoint(store_api_dict, datastore=None) #

Bases: StoreEntity

Classe Python représentant l'entité Endpoint (point de montage).

api_create(data, route_params=None) classmethod #

Crée une nouvelle entité dans l'API.

Parameters:

Name Type Description Default
data Optional[Dict[str, Any]]

Données nécessaires pour la création.

required
route_params Optional[Dict[str, Any]]

Paramètres de résolution de la route.

None

Returns:

Type Description
StoreEntity

Entité créée

api_delete() #

Supprime l'entité de l'API.

api_get(id_, datastore=None) classmethod #

Récupère une entité depuis l'API.

Parameters:

Name Type Description Default
id_ str

Identifiant de l'entité

required
datastore Optional[str]

Identifiant du datastore

None

Returns:

Type Description
StoreEntity

L'entité instanciée correspondante

api_list(infos_filter=None, tags_filter=None, page=None, datastore=None) classmethod #

Liste les points de montage de l'API respectant les paramètres donnés.

Parameters:

Name Type Description Default
infos_filter Optional[Dict[str, str]]

Filtres sur les attributs sous la forme {"nom_attribut": "valeur_attribut"}

None
tags_filter Optional[Dict[str, str]]

Filtres sur les tags sous la forme {"nom_tag": "valeur_tag"}

None
page Optional[int]

Numéro page à récupérer, toutes si None.

None
datastore Optional[str]

Identifiant du datastore

None

Returns:

Type Description
List[T]

List[T]: liste des entités retournées

Key(store_api_dict, datastore=None) #

Bases: DownloadInterface, PartialEditInterface, ReUploadFileInterface, StoreEntity

Classe Python représentant l'entité Clef (key).

Cette classe permet d'effectuer les actions spécifiques liées aux clefs : création, remplacement, mise à jour, suppression.

Metadata(store_api_dict, datastore=None) #

Bases: CreatedByUploadFileInterface, DownloadInterface, PartialEditInterface, ReUploadFileInterface, StoreEntity

Classe Python représentant l'entité Métadonnées (metadata).

Cette classe permet d'effectuer les actions spécifiques liées aux métadonnées : création, remplacement, mise à jour, suppression.

publish(file_identifiers, endpoint_id, datastore=None) staticmethod #

Publie des métadonnées selon leurs fileIdentifier sur un point d'accès METADATA

Parameters:

Name Type Description Default
file_identifiers List[str]

liste des fileIdentifier des métadonnées à publier

required
endpoint_id str

id du endpoint METADATA

required
datastore Optional[str]

Identifiant du datastore

None

unpublish(file_identifiers, endpoint_id, datastore=None) staticmethod #

Dépublication des métadonnées selon leurs fileIdentifier sur un point d'accès METADATA

Parameters:

Name Type Description Default
file_identifiers List[str]

liste des fileIdentifier des métadonnées à publier

required
endpoint_id str

id du endpoint METADATA

required
datastore Optional[str]

Identifiant du datastore

None

Offering(store_api_dict, datastore=None) #

Bases: PartialEditInterface, StoreEntity

Classe Python représentant l'entité Offering (offre).

api_synchronize() #

répercuter des modifications sur la configuration ou les données stockées utilisées au niveau des services de diffusion

get_url() #

récupération de la liste des URL

Returns:

Type Description
List[str]

List[str]: liste des URL

Permission(store_api_dict, datastore=None) #

Bases: PartialEditInterface, StoreEntity

Classe Python représentant l'entité des permissions.

api_create_list(data, route_params=None) classmethod #

Crée une liste de nouvelles entités dans l'API.

Parameters:

Name Type Description Default
data Optional[Dict[str, Any]]

Données nécessaires pour la création.

required
route_params Optional[Dict[str, Any]]

Paramètres de résolution de la route.

None

Returns:

Type Description
List[T]

List[StoreEntity]: Entités créées

Processing(store_api_dict, datastore=None) #

Bases: StoreEntity

Classe Python représentant l'entité Processing (traitement).

ProcessingExecution(store_api_dict, datastore=None) #

Bases: CsfInterface, LogsInterface, StoreEntity

Classe Python représentant l'entité ProcessingExecution (exécution d'un traitement).

Cette classe permet d'effectuer les actions spécifiques liées aux exécution de traitement : création, lancement, gestion de l'exécution, récupération du log, etc.

launch property #

Récupère la datetime de lancement de l'exécution du traitement.

Returns:

Name Type Description
datetime Optional[datetime]

datetime de lancement de l'exécution du traitement

api_abort() #

Annule l'exécution du traitement sur l'API.

api_launch() #

Lance l'exécution du traitement sur l'API.

Static(store_api_dict, datastore=None) #

Bases: CreatedByUploadFileInterface, DownloadInterface, PartialEditInterface, ReUploadFileInterface, StoreEntity

Classe Python représentant l'entité Fichier statique (static).

Cette classe permet d'effectuer les actions spécifiques liées aux fichiers statiques : création, remplacement, mise à jour, suppression.

StoredData(store_api_dict, datastore=None) #

Bases: TagInterface, CommentInterface, SharingInterface, EventInterface, PartialEditInterface, StoreEntity

Classe Python représentant l'entité StoredData (donnée stockée).

get_liste_deletable_cascade() #

liste les entités à supprimer lors d'une suppression en cascade des configurations liées et des offres liées à chaque configuration.

Returns:

Type Description
List[StoreEntity]

List[StoreEntity]: liste des entités qui seront supprimées

Tms(store_api_dict, datastore=None) #

Bases: AbstractCommonFile

Classe Python représentant l'entité Tms (Fichier TMS).

Upload(store_api_dict, datastore=None) #

Bases: TagInterface, CommentInterface, SharingInterface, EventInterface, PartialEditInterface, StoreEntity

Classe Python représentant l'entité Upload (livraison).

Cette classe permet d'effectuer les actions spécifiques liées aux livraisons : déclaration, téléversement, fermeture, gestion des vérifications, etc.

api_close() #

Ferme la livraison.

api_delete_data_file(api_path) #

Supprime un fichier de données de la Livraison.

Parameters:

Name Type Description Default
api_path str

chemin distant vers le fichier à supprimer

required

api_delete_md5_file(api_path) #

Supprime un fichier de clefs de la Livraison.

Parameters:

Name Type Description Default
api_path str

chemin distant vers le fichier à supprimer

required

api_list_checks() #

Liste les Vérifications (Check) lancées sur cette livraison.

Returns:

Type Description
Dict[str, List[Dict[str, Any]]]

Liste des Vérifications demandées (clef asked), en cours (in_progress), passées (passed) et en échec (failed)

api_open() #

Ouvre la Livraison.

api_push_data_file(file_path, api_path) #

Téléverse via l'API un fichier de données associé à cette Livraison.

Parameters:

Name Type Description Default
file_path Path

chemin local vers le fichier à envoyer

required
api_path str

chemin distant du dossier où déposer le fichier

required

api_push_md5_file(file_path) #

Téléverse via l'API un fichier de clefs associé à cette Livraison.

Parameters:

Name Type Description Default
file_path Path

chemin local vers le fichier à envoyer

required

api_run_checks(check_ids) #

Lance des Vérifications (Check) supplémentaires sur cette Livraison.

Parameters:

Name Type Description Default
check_ids List[str]

Liste des identifiants des Vérifications à lancer

required

api_tree() #

Récupère l'arborescence des fichiers téléversés associés à cette Livraison.

Returns:

Type Description
List[Dict[str, Any]]

Arborescence telle que renvoyée par l'API

is_open() #

Teste si la livraison est ouverte à partir des propriétés stockées en local.

Returns:

Type Description
bool

True si la Livraison est ouverte

User(store_api_dict, datastore=None) #

Bases: StoreEntity

Classe Python représentant l'entité User (utilisateur).

api_create(data, route_params=None) classmethod #

Crée une nouvelle entité dans l'API.

Parameters:

Name Type Description Default
data Optional[Dict[str, Any]]

Données nécessaires pour la création.

required
route_params Optional[Dict[str, Any]]

Paramètres de résolution de la route.

None

Returns:

Type Description
StoreEntity

Entité créée

api_delete() #

Supprime l'entité de l'API.

StoreEntityError(message) #

Bases: GpfSdkError

Erreur levée quand un problème apparaît durant une opération sur une StoreEntity.