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: Anteprima
    • 1: Controlli
    • 2: Proprietà
  • extensions: Un elenco di estensioni file (stringhe). Usa ${type_folder} per la corrispondenza delle directory.
  • arguments: Un elenco di argomenti CLI (escludi python.exe e 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 .epub in .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.