====== Le module filemanager ====== Défini dans ''%%filemanager.py%%'', c'est un module outil permettant de regrouper les fonctions de chargement de fichier. Le module définit la classe ''%%FileManager%%''. Vous pouvez tester le bon fonctionnement avec le module de test : {{ .:filemanager.test.py |}}. ===== Interface de la classe FileManager ===== Vous aurez besoin du module ''os''. import os * constante ''%%BASE_URL = 'www'%%'' dossier de base pour la partie publique du site * attribut ''%%filename%%'' représentant l'adresse du fichier chargé * méthode ''%%__init__(self, filename:str)__%%'' qui initialise l'attribut ''%%filename%%'' Dans ce qui précède, ''%%filename%%'' pourrait être une arborescence comme ''%%dossier/sousdossier/test.html%%'' ou encore ''%%/dossier/sousdossier/test.html%%''. On souhaite que l'attribut ''%%filename%%'' soit toujours sans ''%%/%%'' initial, il faut donc l'enlever s'il y en a un. * méthode ''%%exists(self) -> bool%%'' renvoie ''%%True%%'' si le fichier existe, ''%%False%%'' sinon. * méthode ''%%exists_in_public(self) -> bool%%'' renvoie ''%%True%%'' si le fichier existe dans la partie publique, ''%%False%%'' sinon. * méthode ''%%load_binary_in_public(self)%%'' charge en mode binaire le contenu du fichier, s'il existe, dans la partie publique. renvoie ''%%None%%'' sinon * méthode ''%%load_text(self) -> str%%'' charge en mode texte le contenu du fichier. L'encodage est toujours ''%%utf8%%''. Renvoie ''%%None%%'' si n'existe pas. * méthode ''%%load_text_in_public(self) -> str%%'' charge en mode texte le contenu du fichier, cherché dans la partie publique. L'encodage est toujours ''%%utf8%%''. Renvoie ''%%None%%'' si n'existe pas. * méthode ''%%ext(self)%%'' qui extrait l'extension du nom de fichier et la renvoie.