- 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>
62 lines
1.5 KiB
Python
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
|