Source code for pihole_lib.exceptions

"""Exceptions for Pi-hole API interactions."""


[docs] class PiHoleAPIError(Exception): """Base exception for Pi-hole API errors. Attributes: message: Error description. status_code: HTTP status code if available. """
[docs] def __init__(self, message: str, status_code: int | None = None) -> None: """Initialize API error. Args: message: Error description. status_code: HTTP status code if available. """ super().__init__(message) self.message = message self.status_code = status_code
[docs] class PiHoleConnectionError(PiHoleAPIError): """Connection-related error.""" pass
[docs] class PiHoleAuthenticationError(PiHoleAPIError): """Authentication-related error.""" pass
[docs] class PiHoleServerError(PiHoleAPIError): """Server-side error.""" pass