Pular para conteúdo

Ações do Marvin

Marvin Actions auxilia na interação com as funcionalidades do Marvin.

Ações

marvin.execute

Adiciona um novo processo na fila de execução do Marvin.

Parâmetros:

script - nome do script de automação que será incluso na fila de execução.

vars - variáveis que serão setas na inicialização do processo.

robotKey - robotKey do robô que irá executar o script. Se a execução for realizada pelo mesmo robô, deixa este parâmetro como None.

robotSecret - robotSecret do robô que irá executar o script. Se a execução for realizada pelo mesmo robô, deixa este parâmetro como None.

Retorna:

executionId - ID da execução adicionada à fila do Marvin.

Exemplo de Uso
script.mvn
marvin.execute("outro-processo", {'email': '[email protected]', 'nome': 'João'})
prompt.alert('ID da execução: ' + $executionId)

marvin.import_module

Importa módulos Python que não estão nativamente inclusos no Marvin. Função análoga aos comandos import module e from package import module no Python.

Parâmetros:

import_name - nome do módulo que deve ser importado. Deve ser inserido a parte do import da sintaxe do Python.

from_name - utilizado quando o import do Python possui o from. Deve ser inserido a parte do from da sintaxe do Python.

version - versão específica do módulo (opcional). Ex: "1.2.3", ">=1.2.0", "~=1.2.0". Se especificada, o módulo será instalado automaticamente antes da importação.

Retorna:

<import_name> - retorna o módulo solicitado com o mesmo nome passado no parâmetro import_name.

Exceções:

ModuleNotInstalled - quando o módulo importado não foi previamente instalado, ou não está presente no Marvin. Verifique a action marvin.install_module para maiores informações.

Exemplo de Uso - Import Simples
script.mvn
marvin.import_module("pandas")
prompt.alert('Versão: ' + ($pandas).__version__)
Exemplo de Uso - Import com Versão Específica
script.mvn
# Instala e importa uma versão específica
result = marvin.import_module("requests", version="2.28.0")
prompt.alert('Versão: ' + ($requests).__version__)
Exemplo de Uso - From Import
script.mvn
result = marvin.import_module('BeautifulSoup', 'bs4')

BeautifulSoup = $BeautifulSoup
soup = BeautifulSoup("<html>data</html>")
prompt.alert(soup.html.string)
Exemplo de Uso - From Import com Versão
script.mvn
# Instala e importa classe específica de um pacote com versão
result = marvin.import_module('BeautifulSoup', 'bs4', version='4.11.0')

BeautifulSoup = $BeautifulSoup
soup = BeautifulSoup("<html>data</html>")
prompt.alert(soup.html.string)
Exemplo de Uso - Operadores de Versão
script.mvn
# Instala versão maior ou igual a 1.5.0
result = marvin.import_module("pandas", version=">=1.5.0")

# Instala versão compatível com 1.2.x
result = marvin.import_module("numpy", version="~=1.2.0")

# Instala versão diferente de 2.0.0
result = marvin.import_module("requests", version="!=2.0.0")

marvin.install_module

Instala um novo módulo que não está nativamente incluso no Marvin. Esta funcionalidade é análoga ao pip install <module> do Python.

Parâmetros:

module_name - nome do módulo que deve ser instalado.

version - versão específica do módulo (opcional). Ex: "1.2.3", ">=1.2.0", "~=1.2.0", "!=2.0.0".

Retorna:

Esta ação não tem nenhum retorno.

Exemplo de Uso - Instalação da Versão Mais Recente
script.mvn
marvin.install_module('beautifulsoup4')
result = marvin.import_module('BeautifulSoup', 'bs4')

BeautifulSoup = $BeautifulSoup
soup = BeautifulSoup("<html>data</html>")
prompt.alert(soup.html.string)
Exemplo de Uso - Instalação de Versão Específica
script.mvn
# Instala versão específica
marvin.install_module('requests', '2.28.0')
result = marvin.import_module('requests')

prompt.alert('Versão instalada: ' + ($requests).__version__)
Exemplo de Uso - Instalação com Operadores de Versão
script.mvn
# Instala versão maior ou igual a 1.5.0
marvin.install_module('pandas', '>=1.5.0')

# Instala versão compatível com 1.2.x (>=1.2.0, <1.3.0)
marvin.install_module('numpy', '~=1.2.0')

# Instala versão menor ou igual a 2.0.0
marvin.install_module('requests', '<=2.0.0')

# Instala qualquer versão exceto 2.0.0
marvin.install_module('flask', '!=2.0.0')

Importante: nem sempre o nome do módulo utilizado no import do Python, é o mesmo do nome utilizado para a instalação do módulo. Em caso de erro, verifique se as informações estão corretas.

Nota sobre Versões: O sistema suporta operadores de versão PEP 440: - == - versão exata (adicionado automaticamente se não especificado) - >= - versão maior ou igual - <= - versão menor ou igual
- ~= - versão compatível (ex: ~=1.2.0 = >=1.2.0, <1.3.0) - != - versão diferente

Compatibilidade: As funções mantêm compatibilidade com código existente. Se não especificar versão, o comportamento será o mesmo de antes (instalação da versão mais recente).