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

Parameters:
  • token (str) – token

  • base_url (str) – url de base de l’API

  • content (json) – fragment json de la donnée logbook

Returns:

topid de la marée si elle existe ms_ (bool): Utilisée pour verifier le statut de la fonction (True == id trouvé)

Return type:

id_ (str)

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:
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:
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:

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: Exception

Classe 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.common_functions.zero_if_empty(value)[source]#

Remplace par 0 quand la case est vide

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_Float()[source]#
api_traitement.ps_build_json_fonctions.js_Transmitt()[source]#
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]#
api_traitement.ps_build_json_fonctions.js_catche()[source]#
api_traitement.ps_build_json_fonctions.js_content(tab6_routeLogbook, oce=None, program=None)[source]#
api_traitement.ps_build_json_fonctions.js_floatingObject(tab2_Transmitt, tab1_Float)[source]#
api_traitement.ps_build_json_fonctions.js_routeLogbook(tab5_activity)[source]#

Module contents#