gpf_check_md5.core module

Main module logic.

gpf_check_md5.core.check_md5_file(filename: Path, chunksize: int = 8192) int

Vérifie un fichier *.md5.

Ce genre de fichier est classiquement géneré par l’utilitaire md5sum (ou md5 -r) sous unix.

Il est composé d’une chaîne hexadécimale de 32 caractères suivi de deux espaces et du nom du fichier correspondant au hash md5.

Renvoie:

0 indique un SUCCESS 1 pour indiquer qu’il y a eu au moins une erreur d’un calcul md5 2 pour indiquer qu’il y a eu au moins une erreur technique

gpf_check_md5.core.generate_md5_sum(filename: str, chunksize: int = 8192) str

Génère un hash md5 du fichier filename.

Exemple

Exemple (pour un fichier contenant le texte « md5 ») echo « md5 » > /tmp/md5.txt

>>> generate_md5_sum("/tmp/md5.txt")
'772ac1a55fab1122f3b369ee9cd31549'
Preconditions:

filename est un fichier valide

Postconditions:

Retourne un hash md5 (chaîne hexadécimale de 32 caractères)

gpf_check_md5.core.run(parameters: GpfOrchestratorParameters, upload_dir_paths: dict, chunk_size: int = 8192) Status

Main function running the logic.

Paramètres:
  • parameters (GpfOrchestratorParameters) – parameters read from input configuration file.

  • upload_dir_paths (dict) – Dict of (_id, path) with path where data for upload _id are

  • chunk_size (int, optional) – Size of the chunk-data in octets to load in memory. Defaults to 8192.

Renvoie:

Status of the upload check

Type renvoyé:

Status

gpf_check_md5.core.validate(filename: str, md5digest: str, chunksize: int = 8192) Status

Validation du hash md5 md5digest du fichier filename

La fonction va comparer le hash md5 en entrée avec celui calculé sur le fichier.

Renvoie:

Status.TECHNICAL_ERROR en cas d’erreur (lecture de fichier) Status.FAILURE si le hash ne correspond pas avec celui calculé Status.SUCCESS autrement