Guía de Desarrollo de Scripts
Para crear un script personalizado para Seer, debes definir los metadatos e implementar la lógica funcional correspondiente.
1. Definir Metadatos del Script
Seer inicializa los scripts buscando un diccionario SCRIPT_INFO o una función script_info() dentro de tu script.
Campos Requeridos
name: Nombre visible del script.type: La categoría funcional:0: Previsualización1: Controles2: Propiedades
extensions: Una lista de extensiones de archivo (cadenas). Usa${type_folder}para coincidencia con directorios.arguments: Una lista de argumentos CLI (excluyepython.exey el nombre del archivo del script).
Ejemplo de Definición
SCRIPT_INFO = {
"name": "unzip",
"type": 1,
"extensions": ["zip", "rar", "7z"],
"arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
# Metadatos opcionales
"author": "YourName",
"version": "1.0.1",
"description": "Descripción breve del script",
"icon_path": "icon.png", # Solo para tipo Controles
}
2. Implementación de Funcionalidad
- Previsualización (Tipo 0): Carga/analiza el archivo de entrada y lo convierte a un formato compatible nativamente con Seer (ej., PDF, imagen o HTML).
-
Ejemplo: Convertir un archivo
.epuba.html. -
Controles (Tipo 1): Añade un botón al lado izquierdo de la Barra de Control. Al hacer clic se ejecuta el script definido.
-
Ejemplo: Comprimir la carpeta actualmente previsualizada en un archivo
.zip. -
Propiedades (Tipo 2): Seer ejecuta automáticamente el script al cargar exitosamente el archivo. El script debe escribir metadatos en un archivo JSON en la ubicación especificada por
${output_file}. Seer luego lee y muestra este contenido JSON. - Ejemplo: Calcular el hash SHA512 de un archivo.
3. Variables Disponibles
Estos tokens son reemplazados dinámicamente por Seer y se pasan como argumentos de línea de comandos:
| Variable | Descripción |
|---|---|
${7z} |
Ruta absoluta al 7z.exe incluido con Seer. |
${seer_exe} |
Ruta absoluta a Seer.exe. |
${seer_dir} |
Directorio que contiene Seer.exe. |
${input_file} |
Ruta al archivo/carpeta objetivo actualmente en previsualización. |
${output_file} |
Ruta al archivo de salida temporal (requerido para scripts de Propiedad y algunos de Previsualización). |
${no_cache} |
Solo Previsualización: Indicador para que Seer elimine el archivo temporal después de cerrar la previsualización (no se pasa al script como argumento). |
${type_folder} |
Solo Controles: Se usa para coincidir con tipos de directorio. |
${use_backslash} |
Usa \ en lugar de / para los separadores de ruta. |
Nota:
${no_cache}es un indicador interno para Seer y no se pasa a tu script como argumento de línea de comandos.