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: ABC

Cliente base abstracto con funcionalidad común para todas las versiones.

Parámetros:
  • username (str) – NIF del usuario registrado en Datadis.

  • password (str) – Contraseña de acceso a Datadis.

  • timeout (int) – Timeout para requests en segundos.

  • retries (int) – Número de reintentos automáticos.

__init__(username, password, timeout=90, retries=5)[fuente]

Inicializa el cliente base.

Parámetros:
  • username (str) – NIF del usuario registrado en Datadis.

  • password (str) – Contraseña de acceso a Datadis.

  • timeout (int) – Timeout para requests en segundos.

  • retries (int) – Número de reintentos automáticos.

authenticate()[fuente]

Autentica con la API y obtiene token de acceso.

Muestra:
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:
  • method (str) – Método HTTP (GET, POST)

  • endpoint (str) – Endpoint de la API

  • data (Optional[Dict[str, Any]]) – Datos para el body de la petición

  • params (Optional[Dict[str, Any]]) – Parámetros de query string

Devuelve:

Respuesta de la API

Tipo del valor devuelto:

Union[Dict[str, Any], str, list]

Muestra:
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:

BaseDatadisClient

__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.

Parámetros:
  • authorized_nif (Optional[str]) – NIF autorizado para la consulta

  • distributor_code (Optional[str]) – Código de la distribuidora

Devuelve:

Lista de puntos de suministro

Tipo del valor devuelto:

Any

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.

Parámetros:
  • cups (str) – Código CUPS del punto de suministro

  • distributor_code (str) – Código de la distribuidora

  • authorized_nif (Optional[str]) – NIF autorizado para la consulta

Devuelve:

Detalle del contrato

Tipo del valor devuelto:

Any

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

abstractmethod get_max_power(cups, distributor_code, date_from, date_to, authorized_nif=None)[fuente]

Obtiene datos de potencia máxima.

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)

  • authorized_nif (Optional[str]) – NIF autorizado para la consulta

Devuelve:

Datos de potencia máxima

Tipo del valor devuelto:

Any