Skriptentwicklungsleitfaden
Um ein benutzerdefiniertes Skript für Seer zu erstellen, müssen Sie die Metadaten definieren und die entsprechende Funktionslogik implementieren.
1. Skript-Metadaten definieren
Seer initialisiert Skripte, indem es nach einem SCRIPT_INFO-Dictionary oder einer script_info()-Funktion in Ihrem Skript sucht.
Erforderliche Felder
name: Anzeigename des Skripts.type: Die Funktionskategorie:0: Vorschau1: Steuerung2: Eigenschaften
extensions: Eine Liste von Dateierweiterungen (Strings). Verwenden Sie${type_folder}für Verzeichniszuordnung.arguments: Eine Liste von CLI-Argumenten (ohnepython.exeund den Skriptdateinamen).
Beispieldefinition
SCRIPT_INFO = {
"name": "unzip",
"type": 1,
"extensions": ["zip", "rar", "7z"],
"arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
# Optionale Metadaten
"author": "YourName",
"version": "1.0.1",
"description": "Kurze Beschreibung des Skripts",
"icon_path": "icon.png", # Nur für Steuerungstyp
}
2. Funktionsimplementierung
- Vorschau (Typ 0): Lädt/parst die Eingabedatei und konvertiert sie in ein von Seer nativ unterstütztes Format (z. B. PDF, Bild oder HTML).
-
Beispiel: Konvertieren einer
.epub-Datei in.html. -
Steuerung (Typ 1): Fügt eine Schaltfläche auf der linken Seite der Steuerleiste hinzu. Ein Klick führt das definierte Skript aus.
-
Beispiel: Komprimieren des aktuell vorgesehenen Ordners in eine
.zip-Datei. -
Eigenschaften (Typ 2): Seer führt das Skript automatisch nach erfolgreichem Dateiladen aus. Das Skript muss Metadaten in eine JSON-Datei an dem von
${output_file}angegebenen Speicherort schreiben. Seer liest und zeigt diesen JSON-Inhalt dann an. - Beispiel: Berechnen des SHA512-Hashs einer Datei.
3. Verfügbare Variablen
Diese Tokens werden von Seer dynamisch ersetzt und als Befehlszeilenargumente übergeben:
| Variable | Beschreibung |
|---|---|
${7z} |
Absoluter Pfad zu Seers eingebauter 7z.exe. |
${seer_exe} |
Absoluter Pfad zu Seer.exe. |
${seer_dir} |
Verzeichnis, das Seer.exe enthält. |
${input_file} |
Pfad zur Zieldatei / zum Zielordner in der aktuellen Vorschau. |
${output_file} |
Pfad zur temporären Ausgabedatei (erforderlich für Eigenschafts- und einige Vorschau-Skripte). |
${no_cache} |
Nur Vorschau: Flag, das Seer anweist, die temporäre Datei nach dem Schließen der Vorschau zu löschen (wird nicht als Argument an das Skript übergeben). |
${type_folder} |
Nur Steuerung: Zum Abgleichen von Verzeichnistypen. |
${use_backslash} |
Verwendung von \ anstelle von / für Pfadtrennzeichen. |
Hinweis:
${no_cache}ist ein internes Flag für Seer und wird nicht als Befehlszeilenargument an Ihr Skript übergeben.