Code source de parse.fichier_log_apache

"""
Module qui contient la classe pour représenter un fichier log Apache.
"""

from dataclasses import dataclass, field
from parse.entree_log_apache import EntreeLogApache


[docs] @dataclass class FichierLogApache: """ Représente un fichier de log Apache. Attributes: chemin (str): Le chemin du fichier. entrees (list): La liste des entrées du fichier. """ chemin: str entrees: list = field(default_factory=list) def __post_init__(self): """ Vérifie le bon type des données de cette classe lors de l'initialisation de l'instance. Raises: TypeError: Une donnée n'est pas du bon type. """ # Validation du chemin if not isinstance (self.chemin, str): raise TypeError("Le chemin du fichier doit être une chaîne de caractère.") if not isinstance (self.entrees, list): raise TypeError("La liste des entrées doit être une liste.")
[docs] def ajoute_entree(self, entree: EntreeLogApache) -> None: """ Ajoute une entrée à la liste des entrées du fichier. Args: entree (EntreeLogApache): L'entrée à ajouter. Returns: None Raises: TypeError: L'entrée ``entree`` n'est pas un objet :class:`EntreeLogApache`. """ # Vérification du type du paramètre if not isinstance (entree, EntreeLogApache): raise TypeError("Les informations de l'entrée doivent être dans un objet" "EntreeLogApache.") # Récupération de l'entrée self.entrees.append(entree)