Source code for linkzone.client.information

from typing import Dict, Any
from linkzone.common.data_models import (
    GetSystemInfoRequest,
    GetConnectionSettingsRequest,
    GetConnectionStateRequest,
    GetDeviceNewVersionRequest,
)
from linkzone.core.base_api_client import BaseAPIClient


[docs] class Information(BaseAPIClient[Dict[str, Any]]): """ Class for information requests """ def __init__(self) -> None: super().__init__() self._requests_body_info = { "GetSystemInfo": GetSystemInfoRequest(), "GetConnectionSettings": GetConnectionSettingsRequest(), "GetConnectionState": GetConnectionStateRequest(), "GetDeviceNewVersion": GetDeviceNewVersionRequest(), }
[docs] def get_system_info(self) -> Dict[str, any]: return self._send_information_request("GetSystemInfo")
[docs] def get_connection_settings(self) -> Dict[str, any]: return self._send_information_request("GetConnectionSettings")
[docs] def get_connection_state(self) -> Dict[str, any]: return self._send_information_request("GetConnectionState")
[docs] def get_device_new_version(self) -> Dict[str, any]: return self._send_information_request("GetDeviceNewVersion")
def _send_information_request(self, method: str) -> Dict[str, any]: with self.session_scope(): request_data = self._requests_body_info[method].__dict__ response = self.post(data=request_data) return self._handle_response(response)