Utviklingsveiledning for skript

For å opprette et egendefinert skript for Seer, må du definere metadataene og implementere den tilsvarende funksjonelle logikken.

1. Definere skriptmetadata

Seer initialiserer skript ved å se etter en SCRIPT_INFO-ordbok eller en script_info()-funksjon i skriptet ditt.

Obligatoriske felt

  • name: Visningsnavn på skriptet.
  • type: Den funksjonelle kategorien:
    • 0: Forhåndsvisning
    • 1: Kontroller
    • 2: Egenskaper
  • extensions: En liste over filtyper (strenger). Bruk ${type_folder} for katalogmatching.
  • arguments: En liste over CLI-argumenter (ekskluder python.exe og skriptfilnavnet).

Eksempeldefinisjon

SCRIPT_INFO = {
    "name": "unzip",
    "type": 1,
    "extensions": ["zip", "rar", "7z"],
    "arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
    # Valgfrie metadata
    "author": "YourName",
    "version": "1.0.1",
    "description": "Kort beskrivelse av skriptet",
    "icon_path": "icon.png", # Kun kontrolltype
}

2. Funksjonsimplementering

  • Forhåndsvisning (Type 0): Laster/tolker inndatafilen og konverterer den til et format som støttes naturlig av Seer (f.eks. PDF, bilde eller HTML).
  • Eksempel: Konvertere en .epub-fil til .html.

  • Kontroller (Type 1): Legger til en knapp på venstre side av kontrollinjen. Ved klikk utføres det definerte skriptet.

  • Eksempel: Komprimere den gjeldende forhåndsviste mappen til en .zip-fil.

  • Egenskaper (Type 2): Seer utfører automatisk skriptet ved vellykket fillasting. Skriptet må skrive metadata til en JSON-fil på plasseringen spesifisert av ${output_file}. Seer leser og viser deretter dette JSON-innholdet.

  • Eksempel: Beregne SHA512-hashen til en fil.

3. Tilgjengelige variabler

Disse tokenene erstattes dynamisk av Seer og sendes som kommandolinjeargumenter:

Variabel Beskrivelse
${7z} Absolutt bane til Seers medfølgende 7z.exe.
${seer_exe} Absolutt bane til Seer.exe.
${seer_dir} Katalogen som inneholder Seer.exe.
${input_file} Bane til målfilen/-mappen som for øyeblikket forhåndsvises.
${output_file} Bane til den midlertidige utdatafilen (påkrevd for Egenskap og noen Forhåndsvisningsskript).
${no_cache} Kun forhåndsvisning: Flag for å instruere Seer om å slette den midlertidige filen etter at forhåndsvisningen lukkes (sendes ikke til skriptet som argument).
${type_folder} Kun kontroller: Brukes til å matche katalogtyper.
${use_backslash} Bruk \ i stedet for / for baneseparatorer.

Merk: ${no_cache} er et internt flagg for Seer og sendes ikke til skriptet ditt som et kommandolinjeargument.