datadis_python.client.base module
Cliente base para Datadis con funcionalidad común.
Este módulo define una clase abstracta que sirve como base para los clientes de Datadis.
- class datadis_python.client.base.BaseDatadisClient(username, password, timeout=90, retries=5)[fuente]
Bases:
ABCCliente base abstracto con funcionalidad común para todas las versiones.
- Parámetros:
- authenticate()[fuente]
Autentica con la API y obtiene token de acceso.
- Muestra:
AuthenticationError – Si las credenciales son inválidas
APIError – Si ocurre un error en la comunicación con la API
- Tipo del valor devuelto:
None
- ensure_authenticated()[fuente]
Asegura que el cliente está autenticado con un token válido.
Renueva automáticamente el token si ha expirado o está próximo a expirar.
- Tipo del valor devuelto:
None
- make_authenticated_request(method, endpoint, data=None, params=None)[fuente]
Realiza una petición autenticada a la API.
- Parámetros:
- Devuelve:
Respuesta de la API
- Tipo del valor devuelto:
- Muestra:
AuthenticationError – Si fallan las credenciales
APIError – Si ocurre un error en la API
- close()[fuente]
Cierra la sesión y libera recursos.
Limpia el token de autenticación y cierra las conexiones HTTP.
- Tipo del valor devuelto:
None
- __enter__()[fuente]
Entrada del context manager.
- Devuelve:
Instancia del cliente
- Tipo del valor devuelto:
- __exit__(exc_type, exc_val, exc_tb)[fuente]
Salida del context manager.
- Parámetros:
exc_type (Optional[type]) – Tipo de excepción
exc_val (Optional[BaseException]) – Valor de la excepción
exc_tb (Optional[TracebackType]) – Traceback de la excepción
- abstractmethod get_supplies(authorized_nif=None, distributor_code=None)[fuente]
Obtiene puntos de suministro.
- abstractmethod get_distributors(authorized_nif=None)[fuente]
Obtiene distribuidores.
- Parámetros:
authorized_nif (Optional[str]) – NIF autorizado para la consulta
- Devuelve:
Lista de distribuidores
- Tipo del valor devuelto:
Any
- abstractmethod get_contract_detail(cups, distributor_code, authorized_nif=None)[fuente]
Obtiene detalle del contrato.
- abstractmethod get_consumption(cups, distributor_code, date_from, date_to, measurement_type=0, point_type=None, authorized_nif=None)[fuente]
Obtiene datos de consumo.
- Parámetros:
cups (str) – Código CUPS del punto de suministro
distributor_code (str) – Código de la distribuidora
date_from (str) – Fecha de inicio (YYYY-MM-DD)
date_to (str) – Fecha de fin (YYYY-MM-DD)
measurement_type (int) – Tipo de medida
point_type (Optional[int]) – Tipo de punto
authorized_nif (Optional[str]) – NIF autorizado para la consulta
- Devuelve:
Datos de consumo
- Tipo del valor devuelto:
Any