"""Error module.""" from __future__ import annotations from typing import Any import aiohttp class AsusRouterError(Exception): """Base class for errors in AsusRouter library.""" def __init__( self, *args: Any, message: str | None = None, **_kwargs: Any ) -> None: """Initialise base error.""" super().__init__(*args, message) class AsusRouterDataError(AsusRouterError): """Any error with received data.""" class AsusRouterRequestFormatError(AsusRouterError): """Request format error.""" class AsusRouterConnectionError( AsusRouterError, aiohttp.ClientConnectionError ): """Connection error.""" class AsusRouterTimeoutError(AsusRouterError): """Timeout error.""" class AsusRouterSessionError(AsusRouterError): """Session error.""" class AsusRouterSSLCertificateError(AsusRouterError): """SSL certificate error.""" class AsusRouter404Error(AsusRouterError): """Page not found error.""" class AsusRouterIdentityError(AsusRouterError): """Identity error.""" class AsusRouterAccessError(AsusRouterError): """Access error.""" class AsusRouterLogoutError(AsusRouterError): """Logout error.""" class AsusRouterServiceError(AsusRouterError): """Service error.""" class AsusRouterNotImplementedError(AsusRouterError): """Not implemented error.""" class AsusRouterFallbackError(AsusRouterError): """Fallback error.""" class AsusRouterFallbackForbiddenError(AsusRouterFallbackError): """Fallback forbidden error.""" class AsusRouterFallbackLoopError(AsusRouterFallbackError): """Fallback loop error."""