Guia de Desenvolvimento de Scripts
Para criar um script personalizado para o Seer, você deve definir os metadados e implementar a lógica funcional correspondente.
1. Definindo Metadados do Script
O Seer inicializa scripts procurando por um dicionário SCRIPT_INFO ou uma função script_info() dentro do seu script.
Campos Obrigatórios
name: Nome de exibição do script.type: A categoria funcional:0: Visualização (Preview)1: Controles (Controls)2: Propriedades (Property)
extensions: Uma lista de extensões de arquivo (strings). Use${type_folder}para correspondência de diretórios.arguments: Uma lista de argumentos de CLI (excluapython.exee o nome do arquivo do script).
Exemplo de Definição
SCRIPT_INFO = {
"name": "unzip",
"type": 1,
"extensions": ["zip", "rar", "7z"],
"arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
# Metadados opcionais
"author": "YourName",
"version": "1.0.1",
"description": "Descrição curta do script",
"icon_path": "icon.png", # Apenas para tipo Controls
}
2. Implementação de Funcionalidades
- Visualização (Tipo 0): Carrega/analisa o arquivo de entrada e o converte em um formato suportado nativamente pelo Seer (ex.: PDF, imagem ou HTML).
-
Exemplo: Convertendo um arquivo
.epubpara.html. -
Controles (Tipo 1): Adiciona um botão ao lado esquerdo da Barra de Controle. Clicar nele executa o script definido.
-
Exemplo: Comprimir a pasta atualmente visualizada em um arquivo
.zip. -
Propriedades (Tipo 2): O Seer executa automaticamente o script após o carregamento bem-sucedido do arquivo. O script deve escrever metadados em um arquivo JSON no local especificado por
${output_file}. O Seer então lê e exibe este conteúdo JSON. - Exemplo: Calculando o hash SHA512 de um arquivo.
3. Variáveis Disponíveis
Estes tokens são dinamicamente substituídos pelo Seer e passados como argumentos de linha de comando:
| Variável | Descrição |
|---|---|
${7z} |
Caminho absoluto para o 7z.exe incluído no Seer. |
${seer_exe} |
Caminho absoluto para Seer.exe. |
${seer_dir} |
Diretório contendo Seer.exe. |
${input_file} |
Caminho para o arquivo/pasta alvo atualmente sendo visualizado. |
${output_file} |
Caminho para o arquivo de saída temporário (obrigatório para scripts Property e alguns Preview). |
${no_cache} |
Apenas Preview: Sinalizador para instruir o Seer a excluir o arquivo temporário após o fechamento da visualização (não passado ao script como argumento). |
${type_folder} |
Apenas Controls: Usado para corresponder tipos de diretório. |
${use_backslash} |
Usar \ em vez de / para separadores de caminho. |
Nota:
${no_cache}é um sinalizador interno do Seer e não é passado ao seu script como um argumento de linha de comando.