Module misty2py.information
This module's function is to send information requests via the information keywords matching to Misty's API endpoints, sending information requests and matching data shortcuts.
Classes
class Get (ip: str, protocol: str, custom_allowed_infos: Dict = {})-
Expand source code
class Get: """A class representing the GET url request method. Attributes: ip (str): The IP address for the URL where the requests are sent. protocol (str): The protocol for the URL where the requests are sent. allowed_infos (dict): The dictionary of information keywords matching to the Misty's API endpoints. """ def __init__(self, ip: str, protocol: str, custom_allowed_infos: Dict = {}) -> None: """Initialises a Get object. Args: ip (str): The IP address for the URL where the requests are sent. protocol (str): The protocol for the URL where the requests are sent. custom_allowed_infos (Dict, optional): The dictionary of custom information keywords. Defaults to `{}`. """ self.ip = ip self.protocol = protocol allowed_infos = custom_allowed_infos f = open(INFOS_JSON) allowed_infos.update(json.loads(f.read())) f.close() self.allowed_infos = allowed_infos def get_info(self, endpoint: str, params: Dict) -> Misty2pyResponse: """Sends a GET request. Args: endpoint (str): The API endpoint to which the request is sent. Returns: Misty2pyResponse: A Misty2pyResponse object with Misty2py sub-response and Misty REST API sub-response. """ r = requests.get( "%s://%s/%s" % (self.protocol, self.ip, endpoint), params=params ) try: return Misty2pyResponse(True, rest_response=r.json()) except Exception as e: return Misty2pyResponse( False, rest_response=r.content, error_msg=e, error_type=Misty2pyErrorType.UNKNOWN, )A class representing the GET url request method.
Attributes
ip:str- The IP address for the URL where the requests are sent.
protocol:str- The protocol for the URL where the requests are sent.
allowed_infos:dict- The dictionary of information keywords matching to the Misty's API endpoints.
Initialises a Get object.
Args
ip:str- The IP address for the URL where the requests are sent.
protocol:str- The protocol for the URL where the requests are sent.
custom_allowed_infos:Dict, optional- The dictionary of custom information keywords. Defaults to
{}.
Subclasses
Methods
def get_info(self, endpoint: str, params: Dict) ‑> Misty2pyResponse-
Expand source code
def get_info(self, endpoint: str, params: Dict) -> Misty2pyResponse: """Sends a GET request. Args: endpoint (str): The API endpoint to which the request is sent. Returns: Misty2pyResponse: A Misty2pyResponse object with Misty2py sub-response and Misty REST API sub-response. """ r = requests.get( "%s://%s/%s" % (self.protocol, self.ip, endpoint), params=params ) try: return Misty2pyResponse(True, rest_response=r.json()) except Exception as e: return Misty2pyResponse( False, rest_response=r.content, error_msg=e, error_type=Misty2pyErrorType.UNKNOWN, )Sends a GET request.
Args
endpoint:str- The API endpoint to which the request is sent.
Returns
Misty2pyResponse- A Misty2pyResponse object with Misty2py sub-response and Misty REST API sub-response.
class Info (ip: str, protocol: str, custom_allowed_infos: Dict = {})-
Expand source code
class Info(Get): """A class representing an information request from Misty. A subclass of Get().""" def get_info(self, info_name: str, params: Dict = {}) -> Misty2pyResponse: """Sends an information request to Misty. Args: info_name (str): The information keyword specifying which information is requested. params (Dict): dict of parameter name and parameter value. Defaults to `{}`. Returns: Misty2pyResponse: A Misty2pyResponse object with Misty2py sub-response and Misty REST API sub-response. """ if info_name not in self.allowed_infos.keys(): return Misty2pyResponse( False, error_msg="Command `%s` not supported." % info_name, error_type=Misty2pyErrorType.COMMAND, ) endpoint = self.allowed_infos[info_name] try: return super().get_info(endpoint, params) except Exception as e: return unknown_error(e)A class representing an information request from Misty. A subclass of Get().
Initialises a Get object.
Args
ip:str- The IP address for the URL where the requests are sent.
protocol:str- The protocol for the URL where the requests are sent.
custom_allowed_infos:Dict, optional- The dictionary of custom information keywords. Defaults to
{}.
Ancestors
Methods
def get_info(self, info_name: str, params: Dict = {}) ‑> Misty2pyResponse-
Expand source code
def get_info(self, info_name: str, params: Dict = {}) -> Misty2pyResponse: """Sends an information request to Misty. Args: info_name (str): The information keyword specifying which information is requested. params (Dict): dict of parameter name and parameter value. Defaults to `{}`. Returns: Misty2pyResponse: A Misty2pyResponse object with Misty2py sub-response and Misty REST API sub-response. """ if info_name not in self.allowed_infos.keys(): return Misty2pyResponse( False, error_msg="Command `%s` not supported." % info_name, error_type=Misty2pyErrorType.COMMAND, ) endpoint = self.allowed_infos[info_name] try: return super().get_info(endpoint, params) except Exception as e: return unknown_error(e)Sends an information request to Misty.
Args
info_name:str- The information keyword specifying which information is requested.
params:Dict- dict of parameter name and parameter value. Defaults to
{}.
Returns
Misty2pyResponse- A Misty2pyResponse object with Misty2py sub-response and Misty REST API sub-response.