Przewodnik tworzenia skryptów
Aby utworzyć niestandardowy skrypt dla Seera, musisz zdefiniować metadane i zaimplementować odpowiednią logikę funkcjonalną.
1. Definiowanie metadanych skryptu
Seer inicjalizuje skrypty, szukając słownika SCRIPT_INFO lub funkcji script_info() w Twoim skrypcie.
Wymagane pola
name: Nazwa wyświetlana skryptu.type: Kategoria funkcjonalna:0: Podgląd1: Sterowanie2: Właściwości
extensions: Lista rozszerzeń plików (ciągi znaków). Użyj${type_folder}do dopasowania katalogów.arguments: Lista argumentów CLI (wykluczpython.exei nazwę pliku skryptu).
Przykładowa definicja
SCRIPT_INFO = {
"name": "unzip",
"type": 1,
"extensions": ["zip", "rar", "7z"],
"arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
# Opcjonalne metadane
"author": "TwojaNazwa",
"version": "1.0.1",
"description": "Krótki opis skryptu",
"icon_path": "icon.png", # Tylko typ Sterowanie
}
2. Implementacja funkcji
- Podgląd (Typ 0): Ładuje/przetwarza plik wejściowy i konwertuje go do formatu natywnie obsługiwanego przez Seera (np. PDF, obraz lub HTML).
-
Przykład: Konwersja pliku
.epubna.html. -
Sterowanie (Typ 1): Dodaje przycisk po lewej stronie paska sterowania. Kliknięcie go wykonuje zdefiniowany skrypt.
-
Przykład: Kompresowanie aktualnie podglądanego folderu do pliku
.zip. -
Właściwości (Typ 2): Seer automatycznie wykonuje skrypt po pomyślnym załadowaniu pliku. Skrypt musi zapisać metadane do pliku JSON w lokalizacji określonej przez
${output_file}. Seer następnie odczytuje i wyświetla tę zawartość JSON. - Przykład: Obliczanie skrótu SHA512 pliku.
3. Dostępne zmienne
Te tokeny są dynamicznie zastępowane przez Seera i przekazywane jako argumenty wiersza poleceń:
| Zmienna | Opis |
|---|---|
${7z} |
Bezwzględna ścieżka do dołączonego 7z.exe Seera. |
${seer_exe} |
Bezwzględna ścieżka do Seer.exe. |
${seer_dir} |
Katalog zawierający Seer.exe. |
${input_file} |
Ścieżka do pliku/folderu docelowego aktualnie podglądanego. |
${output_file} |
Ścieżka do tymczasowego pliku wyjściowego (wymagane dla skryptów Właściwość i niektórych skryptów Podglądu). |
${no_cache} |
Tylko podgląd: Flaga informująca Seera o usunięciu pliku tymczasowego po zamknięciu podglądu (nie przekazywana do skryptu). |
${type_folder} |
Tylko sterowanie: Używane do dopasowania typów katalogów. |
${use_backslash} |
Użyj \ zamiast / jako separatorów ścieżek. |
Uwaga:
${no_cache}to wewnętrzna flaga Seera i nie jest przekazywana do skryptu jako argument wiersza poleceń.