Guide för skriptutveckling

För att skapa ett anpassat skript för Seer måste du definiera metadata och implementera motsvarande funktionella logik.

1. Definiera skriptmetadata

Seer initierar skript genom att leta efter en SCRIPT_INFO-ordbok eller en script_info()-funktion i ditt skript.

Obligatoriska fält

  • name: Visningsnamn för skriptet.
  • type: Den funktionella kategorin:
    • 0: Förhandsgranskning
    • 1: Kontroller
    • 2: Egenskaper
  • extensions: En lista med filtillägg (strängar). Använd ${type_folder} för katalogmatchning.
  • arguments: En lista med CLI-argument (exkludera python.exe och skriptfilnamnet).

Exempeldefinition

SCRIPT_INFO = {
    "name": "unzip",
    "type": 1,
    "extensions": ["zip", "rar", "7z"],
    "arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
    # Valfri metadata
    "author": "YourName",
    "version": "1.0.1",
    "description": "Kort beskrivning av skriptet",
    "icon_path": "icon.png", # Endast för kontrolltyp
}

2. Funktionsimplementation

  • Förhandsgranskning (Typ 0): Läser/tolkar indatafilen och konverterar den till ett format som stöds av Seer (t.ex. PDF, bild eller HTML).
  • Exempel: Konvertera en .epub-fil till .html.

  • Kontroller (Typ 1): Lägger till en knapp till vänster på kontrollpanelen. Att klicka på den kör det definierade skriptet.

  • Exempel: Komprimera den förhandsgranskade mappen till en .zip-fil.

  • Egenskaper (Typ 2): Seer kör automatiskt skriptet efter lyckad filladdning. Skriptet måste skriva metadata till en JSON-fil på platsen som anges av ${output_file}. Seer läser och visar sedan detta JSON-innehåll.

  • Exempel: Beräkna SHA512-hash av en fil.

3. Tillgängliga variabler

Dessa tokens ersätts dynamiskt av Seer och skickas som kommandoradsargument:

Variabel Beskrivning
${7z} Absolut sökväg till Seers inbyggda 7z.exe.
${seer_exe} Absolut sökväg till Seer.exe.
${seer_dir} Katalog som innehåller Seer.exe.
${input_file} Sökväg till målfilen/mappen som förhandsgranskas.
${output_file} Sökväg till den temporära utdatafilen (krävs för Egenskap och vissa Förhandsgranskningsskript).
${no_cache} Endast förhandsgranskning: Flagga som instruerar Seer att ta bort den temporära filen efter att förhandsgranskningen stängs (skickas inte till skriptet som argument).
${type_folder} Endast kontroller: Används för att matcha katalogtyper.
${use_backslash} Använd \ istället för / för sökvägsseparatorer.

Notera: ${no_cache} är en intern flagga för Seer och skickas inte till ditt skript som ett kommandoradsargument.