Guida allo Sviluppo Script
Per creare uno script personalizzato per Seer, devi definire i metadati e implementare la logica funzionale corrispondente.
1. Definire i Metadati dello Script
Seer inizializza gli script cercando un dizionario SCRIPT_INFO o una funzione script_info() all'interno dello script.
Campi Obbligatori
name: Nome visualizzato dello script.type: La categoria funzionale:0: Anteprima1: Controlli2: Proprietà
extensions: Un elenco di estensioni file (stringhe). Usa${type_folder}per la corrispondenza delle directory.arguments: Un elenco di argomenti CLI (escludipython.exee il nome del file script).
Esempio di Definizione
SCRIPT_INFO = {
"name": "unzip",
"type": 1,
"extensions": ["zip", "rar", "7z"],
"arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
# Metadati opzionali
"author": "YourName",
"version": "1.0.1",
"description": "Breve descrizione dello script",
"icon_path": "icon.png", # Solo tipo Controlli
}
2. Implementazione delle Funzionalità
- Anteprima (Tipo 0): Carica/analizza il file di input e lo converte in un formato supportato nativamente da Seer (es. PDF, immagine o HTML).
-
Esempio: Convertire un file
.epubin.html. -
Controlli (Tipo 1): Aggiunge un pulsante sul lato sinistro della Barra di Controllo. Cliccandolo viene eseguito lo script definito.
-
Esempio: Comprimere la cartella attualmente in anteprima in un file
.zip. -
Proprietà (Tipo 2): Seer esegue automaticamente lo script dopo il caricamento del file. Lo script deve scrivere i metadati in un file JSON nella posizione specificata da
${output_file}. Seer quindi legge e visualizza questo contenuto JSON. - Esempio: Calcolare l'hash SHA512 di un file.
3. Variabili Disponibili
Questi token vengono sostituiti dinamicamente da Seer e passati come argomenti da riga di comando:
| Variabile | Descrizione |
|---|---|
${7z} |
Percorso assoluto di 7z.exe incluso in Seer. |
${seer_exe} |
Percorso assoluto di Seer.exe. |
${seer_dir} |
Directory che contiene Seer.exe. |
${input_file} |
Percorso del file/cartella target attualmente in anteprima. |
${output_file} |
Percorso del file di output temporaneo (richiesto per script di Proprietà e alcuni di Anteprima). |
${no_cache} |
Solo anteprima: Flag per istruire Seer a eliminare il file temporaneo dopo la chiusura dell'anteprima (non passato allo script come argomento). |
${type_folder} |
Solo controlli: Usato per abbinare i tipi di directory. |
${use_backslash} |
Usa \ invece di / per i separatori di percorso. |
Nota:
${no_cache}è un flag interno per Seer e non viene passato allo script come argomento da riga di comando.