Files
lan_checker/checkers/base.py
Antoine Van Elstraete b0d571ae26 Add French docstrings and README
- Docstrings for all modules, classes and methods
- README.md with installation and usage instructions
- Update CLAUDE.md with dns.py

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 18:25:20 +01:00

62 lines
1.5 KiB
Python

"""
Module de base pour les checkers.
Définit la classe abstraite BaseChecker et le dataclass CheckResult
utilisés par tous les checkers.
"""
from abc import ABC, abstractmethod
from dataclasses import dataclass
from typing import Any
@dataclass
class CheckResult:
"""
Résultat d'une vérification.
Attributes:
success: True si la vérification a réussi, False sinon.
message: Message décrivant le résultat.
response_time: Temps de réponse en millisecondes (None si échec).
details: Informations supplémentaires (optionnel).
"""
success: bool
message: str
response_time: float | None = None
details: dict[str, Any] | None = None
class BaseChecker(ABC):
"""
Classe abstraite de base pour tous les checkers.
Chaque checker doit hériter de cette classe et implémenter
la méthode check().
Attributes:
name: Nom du checker (pour l'affichage).
config: Configuration du checker (depuis le fichier YAML).
"""
def __init__(self, name: str, config: dict):
"""
Initialise le checker.
Args:
name: Nom du checker.
config: Dictionnaire de configuration.
"""
self.name = name
self.config = config
@abstractmethod
def check(self) -> CheckResult:
"""
Exécute la vérification.
Returns:
CheckResult contenant le résultat de la vérification.
"""
pass