Mindset Requests
Pacote para consumo dos endpoints da Api Mindset.
Variáveis de ambiente
Este projeto depende das variáveis de ambiente abaixo.
API_INTEGRACAO_URL="http://api-mindset-url"
API_INTEGRACAO_USERNAME="api-mindset-username"
API_INTEGRACAO_PASSWORD="api-mindset-password"
DATA_PADRAO_INTEGRACAO="2020-04-01T00:00:00.000"
REQUEST_TIMEOUT="5" # Inteiro. Define o tempo máximo de espera pela resposta (opcional). Se não definida o padrão são 5 segundos.
Servico
Módulo responsável pelas operações no endpoint servico
>>> from mindset.api_requests import Servico
>>> servico = Servico('novo_servico')
servico.get_or_create(service_params={})
service_params:dict (opcional)
Exceto pelo filtrar, todos os métodos da classe dependem da chamada anterior do .get_or_create()
Caso o service_params não seja informado, e o serviço não exista o mesmo será criado com os seguintes dados:
self.service_params = {
'servico': self.nome_servico, # 'novo_servico'
'hora_agendamento': '01:00',
'forcar_execucao': True,
'ativo': True,
'tipo': 'entrada',
}
Se informado os dados acima serão atualizados e o serviço criado.
>>> response, json = servico.get_or_create() # <-- REQUIREMENT: Chamar a função get or create.
>>> json
>>> {'_id': '5fad3131ede2d05c6f5ba65d',
'servico': 'teste',
'hora_agendamento': '01:00:00',
'forcar_execucao': True,
'ativo': True,
'tipo': 'entrada'}
Essa função retorna uma tupla (response, json) pois quando o servico existe, o json retorna em uma lista e quando é criado retorna um json. Internamente, o método trabalha para retornar o json.
servico.filtrar(filter_params={})
Método estático
filter_params:dict (opcional)
>>> len(Servico.filtrar().json()) # Sem o filter params, retorna todos os servicos
>>> 25
>>> response = servico.filtrar({'forcar_execucao': False, 'servico': 'minmaxitem-GANG'})
>>> response.json()
>>> [{'_id': '5fabf3cfd96a08315416997b',
'servico': 'minmaxitem-GANG',
'hora_agendamento': '01:00:00',
'forcar_execucao': False,
'ativo': True,
'tipo': 'entrada'}]
Para mais informações dos filtros, consulte Mindset Servicos.
servico.get_id()
Retorna o id do servico
>>> servico.get_id()
>>> '5fac5958d96a0831541699ca'
servico.forcar_execucao()
Retorna se a execução forçada do servico é True ou False
>>> servico.forcar_execucao()
>>> True
servico.inicia_integracao()
Define o status do servico como "E" (execução).
>>> response = servico.inicia_integracao()
>>> response.json()
>>> {'data': 'Status do Serviço definido como "E"!'}
Retorna 400 se o status já está definido como "E"
>>> response = servico.inicia_integracao()
>>> response.json()
>>> {'code': 400,
'error_code': 'invalid',
'message': 'Entrada inválida.',
'data': {'general': ['Processo de Integração já está em execução!']}}
servico.sucesso_integracao()
Define o status do servico como "S" (sucesso).
>>> response = servico.sucesso_integracao()
>>> response.json()
>>> {'data': 'Status do Serviço definido como "S"!'}
Retorna 400 se o servico não está setado como "E".
>>> response = servico.sucesso_integracao()
>>> response.json()
>>> {'code': 400,
'error_code': 'invalid',
'message': 'Entrada inválida.',
'data': {'general': ['Processo de Integração não está em execução!']}}
servico.falha_integracao()
Define o status do servico como "F" (falha).
>>> response = servico.falha_integracao()
>>> response.json()
>>> {'data': 'Status do Serviço definido como "F"!'}
Retorna 400 se o servico não está setado como "E".
>>> response = servico.falha_integracao()
>>> response.json()
>>> {'code': 400,
'error_code': 'invalid',
'message': 'Entrada inválida.',
'data': {'general': ['Processo de Integração não está em execução!']}}
servico.get_data_ultima_integracao(filter_params={})
Busca, trata e retorna a data da última integração do serviço ou o valor da variável de ambiente DATA_PADRAO_INTEGRACAO.
filter_params:dict (opcional)
Este método possui esses valores de busca padrão:
{
'_id_servico': self.id, # busca id do servico pela função get_id()
'status': 'S',
'fields': 'inicio_execucao',
'sort': '-inicio_execucao',
'per_page': 1,
}
Caso queira modificar, informe os parâmetros no filter_params e os dados acima serão atualizados.
>>> query_params.get_data_ultima_integracao()
>>> '2020-11-12T00:00:00'
servico.update(json)
Atualiza dados do servico.
>>> response, json = servico.get_or_create()
>>> json
>>> {'_id': '5fac5958d96a0831541699ca',
'servico': 'teste',
'hora_agendamento': '01:00:00',
'forcar_execucao': False,
'ativo': True,
'tipo': 'entrada'}
>>> response = servico.update({'forcar_execucao': True, 'hora_agendamento': '02:00:00'})
>>> response.json()
>>> {'_id': '5fac5958d96a0831541699ca',
'servico': 'teste',
'hora_agendamento': '02:00:00',
'forcar_execucao': True,
'ativo': True,
'tipo': 'entrada'}
servico.delete()
Remove servico.
>>> response = servico.delete()
>>> response.json()
>>> {'data': 'Serviço deletado com sucesso.'}
servico.status()
Retorna todos os status do serviço
>>> response = servico.status()
>>> response.json()
>>> [{'_id': '5fad8dc2ca8d874caa8154e0',
'_id_servico': '5fad8dc1ca8d874caa8154de',
'inicio_execucao': '2020-11-12T19:32:18.312000',
'fim_execucao': '2020-11-12T19:32:18.506000',
'status': 'S'}]
servico.em_execucao()
Retorna se o servico está definido como "em execução".
>>> servico.em_execucao()
>>> False
>>> servico.inicia_integracao()
>>> <Response [200]>
>>> servico.em_execucao()
>>> True
servico.executado()
Retorna se o servico foi ou não executado.
>>> servico.executado()
>>> False
servico.pode_integrar()
Retorna se o servico pode ser integrado.
>>> servico.pode_integrar()
>>> False
Controle
Módulo responsável pelas operações no endpoint controle.
Os métodos desta classe são estáticos.
Controle.get(filter_params={})
filter_params:dict (opcional)
>>> len(Controle.get().json()) # Retorna todos os controles
>>> 25
>>> response = Controle.get({'per_page': 2}) # Filtragem por limite
>>> response.json()
>>> [{'servico': 'produtos-POMPEIA',
'_id': '5edfdfc57a6f51710fa6ef90',
'_id_servico': '5edfdfc57a6f51710fa6ef8f',
'executado': False},
{'servico': 'pedidos_gang-GANG',
'_id': '5edfecdb1421779a4f49cf57',
'_id_servico': '5edfecdb1421779a4f49cf56',
'executado': False}]
Para mais informações dos filtros, consulte Mindset Controle.
Controle.limpar(id_servico, executado)
id_servico:string executado:bool
>>> Controle.limpar(servico.get_id(), False)
>>> <Response [200]>
Status
Módulo responsável pelas operações no endpoint status.
Os métodos desta classe são estáticos.
Status.get()
Retorna todos os status, ou filtrados caso o filter_param seja informado.
filter_params:dict (opcional)
>>> len(Status.get().json()) # Retorna todos os status sem o filter params
>>> 25
>>> response = Status.get({'_id_servico': servico.get_id()})
>>> response.json()
>>> [{'_id': '5fad5131d96a083154169a00',
'_id_servico': '5fad5130d96a0831541699fe',
'inicio_execucao': '2020-11-12T15:13:53.658000',
'fim_execucao': '2020-11-12T15:13:53.846000',
'status': 'S'}]
Para mais informações dos filtros, consulte Mindset Status.
Status.atuais():
Retorna todos os status atuais registrados.
>>> len(Status.atuais().json())
>>> 26
>>> Status.atuais().json()[0]
>>> {'_id': '5f2dbe80b4d3c2d250dcc06a',
'_id_servico': '5edfdfc57a6f51710fa6ef8f',
'inicio_execucao': '2020-08-07T20:50:08.518000',
'fim_execucao': '2020-08-07T20:51:19.542000',
'status': 'S',
'servico': {'_id': '5edfdfc57a6f51710fa6ef8f',
'servico': 'produtos-POMPEIA',
'hora_agendamento': '01:00:00',
'forcar_execucao': False,
'ativo': True,
'tipo': 'saida'}}
Release files for lins-mindsetrequests 2.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lins_mindsetrequests-2.2.2.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lins_mindsetrequests-2.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / lins_mindsetrequests-2.2.2.tar.gz
| Download URL | lins_mindsetrequests-2.2.2.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e2446e2b2a95540d302781117654f8e38b7ae4f01be978bf163ace5fdd935832
|
|
BLAKE2b-256 checksum How to use checksums |
2711f8632f205ef7a8e102c1a06f88c7050e2b52d01ea1f615db5aabe708a220
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3
|
Release files / lins_mindsetrequests-2.2.2-py3-none-any.whl
| Download URL | lins_mindsetrequests-2.2.2-py3-none-any.whl |
|---|---|
| Size | 9.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c4919b7913777cdbb7f6dee2c6c6e095f773a4b121eb5bbd8c086dd8a9787193
|
|
BLAKE2b-256 checksum How to use checksums |
9d8b3a018fb7a452a3be2b16072b7e2799a0daaac888b6e06ea55f1282b699f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3
|