Gestion des métadonnes

Les outils de gestion de la base de métadonnées permettent de créer une base de métadonnées SQLite PyCTOH, insérer des nouvelles traces et d’en supprimer.

1- Initialisation du catalogue

L’initialisation consiste à instancier la classe Catalogue en définissant le catalogue utilisé catalogue_filepath (fichier yaml du catalogue). Sur les serveurs du LEGOS (santo et boto) le catalogue est défini par la varaible d’environnement “ALT_CATALOGUE”.

>>> from pyctoh.db.catalogue import Catalogue
>>> import os
>>> catalogue_filepath = os.environ['ALT_CATALOGUE'] #
>>> cat=Catalogue(filepath=catalogue_filepath)

2- Initialisation des métadonnées

L’initialisation consiste instancier la classe Metadata appelé par la méthode init_metadata de la classe Catalogue. Celle-ci initialise un nouveau produit à partir d’une base modèle vierge.

>>> prod_name="mis_a_supp_vers_sgdr" # Nom du nouveau produit
>>> md=cat.init_metadata(prod_name)

3- Création

La création d’un produit consiste à définir ces caractéristiques dans les tables: mission, phase, product, gdrtype et param

>>> cat.create_metadata("cs2_b_ice_d_gdr")

4- Insertion

L’insertion consiste à renseigner le contenu des fichiers contenus dans la SAF dans les tables : files, cycle, track et zone_geo

>>> cat.insert_metadata("cs2_b_ice_d_gdr")

>>> cat.insert_metadata("cs2_b_ice_d_gdr",req_gdrtype='ctoh1')
>>> cat.insert_metadata("cs2_b_ice_d_gdr",req_cycle_num=10)
>>> cat.insert_metadata("cs2_b_ice_d_gdr",req_gdrtype='ctoh1',req_cycle_num=10, req_track_num=100)

5- Date update

La mise à jour de la table date se fait après chaque insertion. Cette table contient l’étendu temporelle du produit : date, cycle et trace.

>>> md.update_date_metadata("cs2_b_ice_d_gdr")

6- Suppression

>>> md.remove_metadata("cs2_b_ice_d_gdr","ctoh2") # Supprime le contenu du gdrtype "ctoh2"
>>> md.remove_metadata("cs2_b_ice_d_gdr", "sgdr", cycle_num=501)
>>> md.remove_metadata("cs2_b_ice_d_gdr","sgdr", cycle_num=501, track_num=269)