listem3u module

Created on 25 mars 2023

@author: Nicolas Bruschi

Exploite fichiers d’extension m3u dans les sous-répertoires du repertoire de travail, pour constituer la playlist intégrale des fichiers mp3 classés.

[EN ENTREE]

[-h |–help : Demande usage] Optionnel

[-m |–mp3 : Verification existence fic mp3] Optionnel. Defaut = False [-r |–repertoire] <repertoire de travail> Optionnel

defaut = Repertoire_travail

[-v |–version : Demande version] Optionnel Tous les parametres acceptent casse minuscules/majuscules

[EN SORTIE]

0 OK # Constitution dans le repertoire de travail du fichier de sortie 1 KO

[VERSIONS]

[2023-03-25] BN V1.0 : Initialisation [2023-03-26] BN V1.1 : Filtre les fichiers mp3 listés. Pylint.

Tests unitaires

[2023-03-28] BN V1.2 : Debug repertoire travail PureWindowsPath [2023-03-29] BN V1.3 : issue 1-listemp3upy-sans-fichier-mp3 [2023-05-15] BN V1.4 : introduction 1 parametre OBLIGATOIRE [2025-04-04] BN V1.5 : modification contenus fichiers .m3u [2025-06-01] BN V1.6 : modification contenus fichiers .m3u [2025-11-02] BN V1.6.1 : modification nom fichier .m3u [2025-11-19] BN V1.9.0 : pipeline github action [2025-11-23] BN V1.9.1 : suppression saut ligne après écriture + nb fic [2025-12-07] BN V1.9.2 : ajout fct md5 [2025-12-09] BN V1.9.3 : revision format fichier m3u + sha512

[2025-12-12] BN V1.9.4 : mise au point [2025-12-21] BN V1.9.6 : mise au point pipeline ci/cd [2025-12-29] BN V1.9.7 : gestion fichier de sortie si identique précédent [2026-02-15] BN V2.0.0 : Revue de code [2026-02-23] BN V2.0.1 : Revue de code [2026-03-03] BN V2.0.2 : Revue de code

[REFERENCES]

https://www.githubstatus.com/ https://www.sphinx-doc.org/fr/master/index.html https://github.com/maltfield/rtd-github-pages/ https://docs.github.com/en/actions/ monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge https://github.com/marketplace/actions/github-pages-action https://github.com/marketplace/actions/sphinx-docs-to-github-pages # pour memo : python3 -m http.server # Le codage des fichiers m3u est en Latin-1 # https://docs.fileformat.com/fr/audio/m3u/

listem3u.action(repert=None, fic_tampon=None, fic=None, testmp3=False)[source]

constitution du fichier de sortie dans le repertoire de travail

[ EN ENTREE ]

repert (chaine) répertoire de travail fic_tampon (chaine) fichier de travail fic (chaine) fichier resultat testmp3 (boolean) DEFAUT_FICMP3

[ EN SORTIE ]

coderetourici (entier) 0 OK - 1 KO sunecom (chaine) commentaire

listem3u.actionfinale(repert, ficprod, coderetour, sunecom, supprfic)[source]

Si le fichier produit par action est de meme signature que précédemment on ne fait rien, sinon on produit le nouveau fichier avec son nom finalisé et on supprime les anciens si spécifié (cf variable DEFAUT_MENAGE)

[ EN ENTREE ]

repert (chaine) répertoire de travail ficprod (chaine) fichier resultat ficfin (chaine) fichier resultat finalisé coderetour (entier) sunecom (chaine) supprfic (booleen)

[ EN SORTIE ]

resultat (entier) 0 ou 1 scom (chaine) communication

listem3u.hashlib_sha512(fname)[source]

somme de controle sha512 d’un fichier

[ EN ENTREE ]

fname (chaine) fichier

[ EN SORTIE ]

somme_de_controle (chaine) sha512

listem3u.parametres(argv)[source]

Gestion des parametres d’appel = repertoire, help et version

[ EN ENTREE ]

argv = Les parametres d’appel du script

[ EN SORTIE ]

codeexit (entier) 0, 1 ou 2 scom (chaine) commentaire repertoire_travail (chaine) test_presenceficmp3 (boolean)