import json import os import requests class Replay: """ ## Replay --- Esta classe é utilizada para fazer manipulações com o Replay instalado na máquina. Ela concede acesso às diferentes funcionalidades que o mesmo apresenta na interface do Console, sem que o programador precise realizar WebScraping para acessá-lo. Permite por exemplo a extração de configurações definidas para certos repositórios, registro de Logs, manipulação de banco de dados (SQLite), entre várias outras coisas. """ ep: str = "" def __init__ (self): self.ep = "https://localhost:8443" def __request_get__ (self, data: str): """ ## HTTP GET --- Este método é responsável por realizar requisições HTTP do tipo GET. Ele retorna o corpo de resposta da requisição, ou uma mensagem de erro, que indica qual foi a irregularidade ocorrida ao chamar a API. """ url = self.ep + data print("Calling: " + url) apikey = os.environ.get('REPLAY_APIKEY') headers = {"X-API-KEY": apikey} res = requests.get(url, headers=headers, verify=False) if res.status_code >= 400: raise Exception(f"HTTP ERROR: {str(res.status_code)} - {res.text}") if res.headers.get("Content-Type") != None and res.headers.get("Content-Type").find("json") != -1: return json.loads(res.text) else: return res.text def __request_json_post__ (self, path: str, object: dict): """ ## HTTP JSON POST --- Este método é responsável por realizar requisições HTTP do tipo POST para objetos JSON. Ele retorna o corpo de resposta da requisição, ou uma mensagem de erro, que indica qual foi a irregularidade ocorrida ao chamar a API. """ url = self.ep + path print("Calling: " + url) apikey = os.environ.get('REPLAY_APIKEY') headers = {"X-API-KEY": apikey} res = requests.post(url, json = object, headers = headers, verify = False) if res.status_code >= 400: raise Exception(f"HTTP ERROR: {str(res.status_code)} - {res.text}") if res.headers.get("Content-Type") != None and res.headers.get("Content-Type").find("json") != -1: return json.loads(res.text) else: return res.text def __request_raw_post__ (self, path: str, data: str): """ ## HTTP RAW POST --- Este método é responsável por realizar requisições HTTP do tipo POST para objetos RAW. Ele retorna o corpo de resposta da requisição, ou uma mensagem de erro, que indica qual foi a irregularidade ocorrida ao chamar a API. """ url = self.ep + path print("Calling: " + url) apikey = os.environ.get('REPLAY_APIKEY') headers = {"X-API-KEY": apikey} res = requests.post(url, data = data, headers = headers, verify = False) if res.status_code >= 400: raise Exception(f"HTTP ERROR: {str(res.status_code)} - {res.text}") if res.headers.get("Content-Type") != None and res.headers.get("Content-Type").find("json") != -1: return json.loads(res.text) else: return res.text def replay_env_queue_id (self): """ ## Replay Environment Queue ID --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_QUEUEID", caso exista. """ return os.environ.get ("REPLAY_QUEUEID") def replay_env_alias (self): """ ## Replay Environment Alias --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_ALIAS", caso exista. """ return os.environ.get ("REPLAY_ALIAS") def replay_env_feature_dir (self): """ ## Replay Environment Feature Directory --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_FEATUREDIR", caso exista. """ return os.environ.get ("REPLAY_FEATUREDIR") def replay_env_root (self): """ ## Replay Environment Root --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_ROOT", caso exista. """ return os.environ.get ("REPLAY_ROOT") def replay_env_addr (self): """ ## Replay Environment Address --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_ADDR", caso exista. """ return os.environ.get ("REPLAY_ADDR") def replay_env_home_dir (self): """ ## Replay Environment Home Directory --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_HOMEDIR", caso exista. """ return os.environ.get ("REPLAY_HOMEDIR") def replay_env_repo (self): """ ## Replay Environment Repository --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_REPO", caso exista. """ return os.environ.get ("REPLAY_REPO") def replay_env_ver (self): """ ## Replay Environment Version --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_VER", caso exista. """ return os.environ.get ("REPLAY_VER") def replay_env_repo_dir (self): """ ## Replay Environment Repository Directory --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_REPODIR", caso exista. """ return os.environ.get ("REPLAY_REPODIR") def replay_env_data_dir (self): """ ## Replay Environment Data Directory --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_DATADIR", caso exista. """ return os.environ.get ("REPLAY_DATADIR") def replay_env_instance_alias (self): """ ## Replay Environment Instance Alias --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_INSTANCE_ALIAS", caso exista. """ return os.environ.get ("REPLAY_INSTANCE_ALIAS") def replay_env_api_key (self): """ ## Replay Environment API Key --- Esta função retorna o valor atribuído à variável de ambiente "REPLAY_APIKEY", caso exista. """ return os.environ.get ("REPLAY_APIKEY")