From cb903f8b2cb676072f7ef6cf21c524b3b1163b9c Mon Sep 17 00:00:00 2001 From: Pedro de Oliveira Guedes Date: Tue, 18 Jan 2022 10:57:37 -0300 Subject: [PATCH] Adding new methods. --- api/replay/cli.py | 108 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 106 insertions(+), 2 deletions(-) diff --git a/api/replay/cli.py b/api/replay/cli.py index 28e687b..5ae9584 100644 --- a/api/replay/cli.py +++ b/api/replay/cli.py @@ -268,15 +268,24 @@ class Replay: def config_get_global (self, config_name: str): """ ## Global Configuration Getter - Este método procura em todos os repositórios uma correspondência à configuração recebida. + Este método procura entre as configurações globais, uma correspondência ao nome de configuração recebido. + + --- + ### Obs: + Uma configuração global é definida diretamente na aba de Configurações do Console do Replay. + + Deve-se clicar em "Adicionar" e digitar o nome da configuração, depois editar o nome da mesma. + + Se uma configuração não está associada a nenhum repositório em específico, isso quer dizer que ela é global. --- #### Parâmetros: - - config_name: Nome da configuração que se quer buscar em todos os repositórios instalados. + - config_name: Nome da configuração global que se quer saber o valor. --- #### Retorna: -> O valor da configuração encontrada. + -> "" caso a configuração não exista. """ config_name = urllib.parse.quote(config_name, "") @@ -333,3 +342,98 @@ class Replay: dict_configs[config["k"]] = config return dict_configs + + def open_app (self, id: int): + """ + ## Open Apps + Este método realiza a execução de um aplicativo cujo ID foi recebido. + + --- + ### Obs: + É importante ressaltar que a execução do aplicativo lançado é síncrona, ou seja, o código não terá sua execução completada antes da finalização do aplicativo. + + Para alguns casos de uso, a execução síncrona é bastante útil, mas para outros, pode dificultar bastante o processo de desenvolvimento. + + Sendo assim, é possível utilizar o recurso de multiThreading do python para que o aplicativo seja executado assíncronamente. Isso é feito através da biblioteca "threading", que não é nativa. Deve-se instalá-la e utilizar de acordo com a necessidade. + + Para maiores informações sobre a biblioteca threading, visite o site: + http://pymotw.com/2/threading/ + + --- + #### Parâmetros: + - id: Identificador do aplicativo que se deseja executar. + + --- + #### Retorna: + --- + """ + + return self.__request_get__(f"/api/v1/app/run/{id}") + + def cron_reload (self): + """ + ## Cronometer Reload + Este método está ligado à página de Agendamentos no Console do Replay. Ele recarrega esta funcionalidade para atualizar os registros de agendamento. + + --- + #### Parâmetros: + --- + + --- + #### Retorna: + -> ??? + """ + + return self.__request_get__("/ipc/cron/reload") + + def menu_get_all_enabled (self): + """ + Get All Enabled Menus + Este método está relacionado à aba de "Menus" do Console do Replay. Todos os menus cadastrados naquela aba e que tenham a checkbox do lado esquerdo marcada deverão ser buscados por este método. + + --- + #### Parâmetros: + --- + + --- + #### Retorna: + -> Lista de dicionários, onde os dicionários são os dados/informações dos menus encontrados. + """ + + return self.__request_get__("/api/v1/menu/enabled") + + def service_stop_all (self): + """ + ## Stop All Services + Este método realiza a parada forçada de todos os serviços que estiverem ativos. É possível visualizar quais serviços estão ativos pela aba "Serviços" do Console do Replay. Todos cujo PID tenha um valor diferente de -1 e 0 são serviços que estão, atualmente, ativos. + + --- + #### Parâmetros: + --- + + --- + #### Retorna: + -> "ok" caso o método tenha sido executado corretamente + """ + + return self.__request_get__("/api/v1/service/op/stopall") + + def exit (self): + """ + ## Exit + Finaliza a sessão do Replay. Equivalente a clicar no ícone e depois em "Quit". + + --- + #### Parâmetros: + --- + + --- + #### Retorna: + --- + """ + + try: + self.__request_get__("/api/v1/exit") + except: + return "ok" +