api_traitement package#
Submodules#
api_traitement.apiFunctions module#
api_traitement.api_functions module#
# Fonctions relatives à la connexion et requêtes faites à l’api # #######################################################
- api_traitement.api_functions.check_trip(token, content, base_url)[source]#
Fonction qui permet de verifier si la marée a inserer existe déjà dans la base de donnée
- api_traitement.api_functions.del_trip(base_url, token, content)[source]#
Fonction qui permet de verifier si la marée a inserer existe déjà dans la base de donnée
- Parameters:
token (str) – token
content (json) – fragment json de la donnée logbook
Returns: (json)
- api_traitement.api_functions.error_filter(response)[source]#
Permet de simplifier l’affichage des erreurs dans le programme lors de l’insertion des données
- api_traitement.api_functions.getId_Data(token, base_url, moduleName, argment, route)[source]#
Fonction qui permet de retourner un id en fonction du module et de la route envoyé
- Parameters:
token (str) – token
base_url (str) – url de base de l’API
moduleName (str) – le module de la base de donnée
argment (str) – les arguments de la requete sur le module
route (str) – chemin de l’API de la requete en fonction de la structure de la base de données.
exemple – moduleName = “Trip” route = “/data/ps/common/” argment = “startDate=” + … + “&filters.endDate=” + … + “&filters.vessel_id=” + … OU argment = “startDate=” + …
- Return type:
id (str)
- api_traitement.api_functions.get_all_referential_data(token, module, base_url)[source]#
Fonction qui récupère les données de références sur le webservice
- Parameters:
token
module – ps ou ll
base_url – url de connexion - ‘https://observe.ob7.ird.fr/observeweb/api/public’
- Returns:
dict
- api_traitement.api_functions.get_one_from_ws(token, base_url, route, topiaid)[source]#
Fonction qui interroge le web service (ws) pour récupérer toutes les données relatives à une route et un topiaid
- Parameters:
token (str) – token
base_url – chemin d’accès à la connexion (’https://observe.ob7.ird.fr/observeweb/api/public’)
route – chemin d’accès plus précis (par ex : ‘/data/ll/common/Trip/’)
topiaid – topiaid avec des ‘-’ à la place des ‘#’
- Returns:
informations relatives au topiaid fourni
- Return type:
file.json
- api_traitement.api_functions.get_token(base_url, data)[source]#
Fonction qui permet d’avoir un token
- Parameters:
base_url (str) – url de base de l’API
data (json) –
format de données json exemple ci-dessous exemple:
- data = {
“config.login”: “username”, “config.password”: “password”, “config.databaseName”: “database”, “referentialLocale”: “fr_FR”
}
- Returns:
token (str) :rtype: object
- api_traitement.api_functions.is_valid(base_url, token)[source]#
Fonction booléenne qui test si le token est encore valide :param token: :type token: str
- api_traitement.api_functions.load_data(token, base_url, forceUpdate=False)[source]#
- Fonction qui recupere toutes les données de refences au format JSON de la base de données et stocke ces données
dans un fichier en local. Elle recupere les données de references une fois par jour et elle est utilisé pour faire mise à jour des données de references sur le site
- Parameters:
token (str) – token recuperé
base_url (str) – url de base de l’API
forceUpdate (bool) – True ou False => utilisée dans le cas de la mise à jour des données de references forcées par l’utilisateur
- Returns:
allData (json)
- api_traitement.api_functions.reload_token(username, password, base_url, database)[source]#
Fonction qui recharge un token
- Parameters:
username – identifiant de connexion
password – mot de passe de connexion
base_url – l’url de base du profile
database – la base de données pour la connexion
- Returns:
token
- api_traitement.api_functions.send_trip(token, data, base_url, route)[source]#
Fonction qui ajoute un trip (marée) dans la base
- Parameters:
token (str) – token
data (json) – json file (trip) que l’on envoie dans la base
base_url (str) – ‘https://observe.ob7.ird.fr/observeweb/api/public’ base de connexion à l’api
route (str) – ‘/data/ps/common/Trip’ ou ‘/data/ll/common/Trip’
- Returns:
le json inséré dans le temporary_files text message: logbook bien inséré, ou bien un json d’erreur
- api_traitement.api_functions.trip_for_prog_vessel(token, base_url, route, vessel_id, programme_topiaid)[source]#
Pour un navire et un programme donnée, renvoie le topiaid du dernier trip saisi
- Parameters:
token
base_url – ‘https://observe.ob7.ird.fr/observeweb/api/public’
vessel_id – topiaid du navire (avec les ‘-‘)
programme_topiaid – topiaid du programme choisi (avec les ‘-‘)
- Returns:
trip topiaid
- api_traitement.api_functions.update_trip(token, data, base_url, topiaid)[source]#
Fonction qui met à jour un trip dans la base de données, donc supprime le trip existant pour insérer le nouveau data_json sous le même topiaid
- Parameters:
token (str) – token
data (json) – json file qu’on envoie dans la base
base_url (str) – ‘https://observe.ob7.ird.fr/observeweb/api/public’ base de connexion à l’api
update (topiaid du trip que l'on veut)
Returns:
api_traitement.common_functions module#
Module de fonctions communes et générales à l’application indépendamment de la pêcherie.
- exception api_traitement.common_functions.TransmitException(message)[source]#
Bases:
ExceptionClasse qui permet de gerer les exceptions sur les activités sur objet
Args:
Returns:
- api_traitement.common_functions.build_trip(allData, info_bat, data_log, oce, prg, ob)[source]#
Fonction qui permet de contruire le gros fragment json de la marée et retourner des messages par rapport à la construction
- Parameters:
allData (json) – données de references
info_bat (json) – info sur le bateau date de depart/arrivée du port de depart/arrivé
data_log (dataFrame) – les données du logbook
oce (list) – la liste des océans
prg (list) – pour la liste des programmes
ob (json) – info sur le capitaine et homeid du bateau
- Returns:
allMessages, js_contents
- api_traitement.common_functions.build_trip_v23(allData, info_bat, data_log, oce, prg)[source]#
Fonction qui permet de contruire le gros fragment json de la marée et retourner des messages par rapport à la construction
- Parameters:
allData (json) – données de references
info_bat (json) – info sur le bateau date de depart/arrivée du port de depart/arrivé et info sur le capitaine et homeid du bateau
data_log (dataFrame) – les données du logbook
oce (list) – la liste des océans
prg (list) – pour la liste des programmes
- Returns:
allMessages, js_contents
- api_traitement.common_functions.cap_obs_sea(allData, ob)[source]#
Recherche le topiaId du capitaine (et potentiellement de l’opérateur de saisie) à partir de son nom complet fourni dans ‘ob’.
Si la recherche échoue, renvoie l’ID “[inconnu]” et un message d’alerte.
- Parameters:
allData (dict) – données contenant les personnes avec leur topiaId, prénom, nom
ob (dict) – objet contenant les informations de saisie (ex: ob[“captain”])
- Returns:
topiaId du capitaine, de l’opérateur (même pour l’instant), et message d’erreur ou None
- Return type:
Tuple[str, str, Optional[str]]
- api_traitement.common_functions.convert_to_int(value)[source]#
Vérifie si la valeur est numérique ou peut être transformée en numérique (integer).
Args: value: L’élément à vérifier.
Returns: bool: la valeur si elle est de type numérique et un message sinon.
- api_traitement.common_functions.convert_to_time_or_text(value)[source]#
Fonction qui converti la cellule en time si elle est au format type time ou date dans le excel et qui laisse au format texte (cruising, in port etc) si la cellule est au format texte
- api_traitement.common_functions.del_empty_col(dataframe)[source]#
Fonction qui supprime la colonne si elle ne contient pas d’information
- Parameters:
dataframe – avec des potentielles colonnes vides (cellules mergées)
- Returns:
uniquement avec des éléments
- Return type:
dataframe
- api_traitement.common_functions.dms_to_decimal(degrees, minutes, direction)[source]#
Transforme des degrés minutes secondes en décimal
- Parameters:
degrees (int), minutes (int) – value
direction (str) – N S E W
- Returns:
value
- Return type:
float
- api_traitement.common_functions.floatingObjectPart(chaine, data, dico, index, perte_act=False)[source]#
Fonction qui permet de retourner un ou deux topiaId en fonction du type d’objet flottant
- Parameters:
data (dataFrame) – les données du logbook en cours d’insertion
index (str) – nom de la colonne du dataFrame faisant reference aux objets flottants
dico (json) – dictionnaire de données pour les objets flottants
perte_act (bool) – gestion des pertes
chaine (str) – objet flottant à rechercher
- Returns:
id (str), id (str)
- api_traitement.common_functions.fpaZone_id(chaine, tableau, allData)[source]#
Fonction qui permet de retourner le topiaId et un commentaire lorsqu’on ne retrouve pas la zone fpa passée en paramettre
- Parameters:
allData (json) – données de references
tableau (list) – liste de données fpa zone
chaine (str) – zone à rechercher
- Returns:
id (str), ‘’ (str) ou chaine (str)
- api_traitement.common_functions.from_topiaid_to_value(topiaid, lookingfor, label_output, allData, domaine=None)[source]#
Fonction générale qui retourne le label output pour un topiad donné dans la base common ou longliner
- Parameters:
topiad
lookingfor – catégorie issu du WS dans laquelle on veut chercher notre topiaid
label_output – ce qu’on veut présenter (label, nom, espèce …)
nécessaire (domaine si)
- Returns:
nom souhaité associé au topotiad
- api_traitement.common_functions.getAll(allData, moduleName, type_data='dictionnaire')[source]#
Permet de retourner un dictionnaire ou un tableau
- Parameters:
allData (json) – données de references
moduleName (str) – le module de la base de donnée
type_data (str) – “dictionnaire” ou “tableau”
- Returns:
tab (list) dico (dict)
- api_traitement.common_functions.getId(allData, moduleName, argment, nbArg=False, domaine=None)[source]#
Fonction qui retourne l’ID d’un module en fonction des arguments donnés
- Parameters:
allData (json) – données de references
moduleName (str) – le module de la base de donnée
argment (str) – les arguments de la requete sur le module
domaine (str) – “seine” ou “longline” dans le cas ou nous voulons recuperer les id de VesselActivity
nbArg (bool) – permet de signifier le nombre d’argument dont on aura besoin pour trouver l’ID par defaut quand c’est False nous avons 1 argument en paramentre si c’est True, nous avons 2 arguments en parametre
- Returns:
topiad (str)
- api_traitement.common_functions.getSome(allData, moduleName, argment)[source]#
Permet de retouner un dictionnaire de donnée du module dans une liste (tableau)
- Parameters:
allData (json) – données de references
moduleName (str) – le module de la base de donnée
argment (str) – les arguments de la requete sur le module
- Returns:
(list)
- api_traitement.common_functions.get_lat_long(allData, harbour)[source]#
Fonction qui permet de retourner les coordonnées de longitude et de latitude du port de depart ou soit d’arrivé
- Parameters:
allData (json) – données de references
harbour (str) – nom du port
- Returns:
(float), (float)
- api_traitement.common_functions.get_list_harbours(allData)[source]#
- Parameters:
allData
- Returns:
all the enabled ports (topiaId and label2)
- Return type:
list
- api_traitement.common_functions.get_wind_id_interval(allData, moduleName, windSpeed)[source]#
Fonction qui permet de retourner le topiaId de l’interval de vitesse du vent
- Parameters:
allData (json) – données de references
moduleName (str) – le module de la base de donnée
windSpeed (str) – vitesse du vent
- Returns:
id (str)
- api_traitement.common_functions.lat_long(lat1, lat2, lat3, long1, long2, long3)[source]#
Fonction qui permet de calculer la longitude et la latitude pour l’inserer facilement dans la BD
- Parameters:
lat1 (str) – position geographique
lat2 (str) – position geographique
lat3 (str) – position geographique
long1 (str) – position geographique
long2 (str) – position geographique
long3 (str) – position geographique
- Returns:
(float), (float), (bool)
- api_traitement.common_functions.load_json_file(file_path)[source]#
Fonction qui charge un fichier json enregistré dans un dossier donné en argument et le renvoie
- Parameters:
file_path
- Returns:
fichier json en format dictionnaire
- Return type:
dict
- api_traitement.common_functions.np_removing_semicolon(numpy_table, num_col)[source]#
Fonction qui prend une numpy table et ne retourne que la partie avant les deux point (:) de la colonne demandée
- api_traitement.common_functions.obj_deja_deploy(data, js_Transmitts, dico_trams_oper, dico_trams, dico_trams_owner, allData, operation)[source]#
Fonction qui permet de construire les operations sur les objets et retourne l’ensemble des operations sur balise pour une route
- Parameters:
dico_trams (json) – dictionnaire de données pour les balises
dico_trams_oper (json) – dictionnaire de données pour les operations sur balises
dico_trams_owner (json) – dictionnaire de données pour les sur balises
allData (json) – données de references
js_Transmitts (json) – structure json pour un enregistrement sur les balises
data (dataFrame) – les données du logbook en cours d’insertion
operation (str) – permet de connaitre le type d’operation (visite, transfert, mise à l’eau…)
- Returns:
liste de structure de données Json
- Return type:
tab2_Transmitt (liste)
- api_traitement.common_functions.obj_deja_deploy_v23(data_ob, js_Transmitts, dico_trams_oper, dico_trams, dico_trams_owner, allData, operation)[source]#
Fonction qui permet de construire les operations sur les objets et retourne l’ensemble des operations sur balise pour une route
- Parameters:
dico_trams (json) – dictionnaire de données pour les balises
dico_trams_oper (json) – dictionnaire de données pour les operations sur balises
dico_trams_owner (json) – dictionnaire de données pour les sur balises
allData (json) – données de references
js_Transmitts (json) – structure json pour un enregistrement sur les balises
data_ob (dataFrame) – les données du logbook sur operation sur objet
operation (str) – permet de connaitre le type d’operation (visite, transfert, mise à l’eau…)
- Returns:
liste de structure de données Json
- Return type:
tab2_Transmitt (liste)
- api_traitement.common_functions.obj_ob_part_body_(temp_float, tab1_Float, js_Floats, bool_tuple=('false', 'false'))[source]#
Fonction qui permet de traiter les materiels
- Parameters:
tab1_Float (list) – liste de données pour les materiels
js_Floats (json) – structure json pour un enregistrement sur les materiels
Returns:
- api_traitement.common_functions.pretty_print(json_data, file='media/temporary_files/created_json_file.json', mode='a')[source]#
Fonction qui affiche le fichier json avec les bonnes indentations un fichier json
- Parameters:
json_data (json) – Données json en entrée
file (str, optional) – Nom de fichier json de sortie “created_json_file.json”.
mode (str, optional) – Defaults to “a” pour “append” - “w” pour “write”
- api_traitement.common_functions.read_data(file, type_doc='v21')[source]#
Fonction qui permet de faire appel à la fonction de traitement du logbook
- Parameters:
file (str) – fichier logbook à traiter
type_doc (str) – logbook “v21” ou “v23”
- Returns:
info_bat (json), data_bat (dataframe), obs (json), message (str)
- api_traitement.common_functions.read_excel(logbook_file_path, num_page)[source]#
Fonction qui extrait les informations d’un fichier excel en dataframe
- Parameters:
logbook_file_path – lien vers le fichier contenant le logbook
num_page (int) – numéro de page à extraire (1, 2 etc …)
- Returns:
du fichier excel
- Return type:
(dataframe)
- api_traitement.common_functions.remove_if_nul(df, column)[source]#
Function that remove the last rows if the value is null in a specific column :param df: :type df: dataframe :param column: column you want to check
- api_traitement.common_functions.remove_spec_char_from_list(char_list)[source]#
Fonction qui applique remove_spec_char à chaque élément d’une liste de chaînes
- api_traitement.common_functions.search_in(allData, search='Ocean')[source]#
Fonction permet d’avoir à partir des données de references les oceans ou les programmes
- Parameters:
allData (json) – données de references
search (str) – “Ocean” ou “Program”
- Returns:
prog_dic (json)
- api_traitement.common_functions.serialize(obj)[source]#
Serialize obj dans un format json de type date, int ou str.
- api_traitement.common_functions.strip_if_string(element)[source]#
Fonction qui applique la fonction python strip() si l’élement est bien de type texte
- api_traitement.common_functions.traiLogbook(logB)[source]#
- Fonction qui permet d’extraire les informations d’un logbook SENNE dans ces variables
–> info_bat : contient les informations sur le navire, le port (D/A) et heure (D/A) –> observ : contient les informations sur le capitaine et le mar_homeid –> df_data : contient les données du logbook
- Parameters:
logB (str) – fichier logbook à traiter
- Returns:
info_bat (json), df_data (dataframe), observ (json), (str)
- api_traitement.common_functions.traiLogbook_v23(logB)[source]#
- Fonction qui permet d’extraire les informations d’un logbook SENNE dans ces variables
- –> info_batcontient les informations sur le navire, le port (D/A) et heure (D/A)
et contient les informations sur le capitaine et le mar_homeid
–> df_data : contient les données du logbook
- Parameters:
logB (str) – fichier logbook à traiter
- Returns:
info_bat (json), df_data (dataframe), (str)
- api_traitement.common_functions.transmittingBType(chaine, dico)[source]#
Fonction qui permet de retourner le topiaId du type de balise et un commentaire lorsqu’on ne retrouve pas la balise passée en paramettre
- Parameters:
dico (json) – dictionnaire de données pour les balises
chaine (str) – balise à rechercher
- Returns:
id (str), ‘’ (str) ou commentaire (str)
- api_traitement.common_functions.weightCategory(allData, chaine, specise)[source]#
Fonction qui permet de retourner le topiaId de la categorie d’especes trouvées
- Parameters:
allData (json) – données de references
chaine (str) – chaine contenant la categorie
specise (str) – type d’especes
- Returns:
id (str)
api_traitement.ps_build_json_fonctions module#
# Fonctions relatives à la constitution du json pour la seine # selon le logbook version 23 # #######################################################
- api_traitement.ps_build_json_fonctions.js_activity(tab4_catches, tab3_floatingObject=[], sommeThon=None)[source]#
- api_traitement.ps_build_json_fonctions.js_activity2(tab4_catches, tab3_floatingObject=[], sommeThon=None)[source]#