Panduan Pengembangan Skrip
Untuk membuat skrip kustom untuk Seer, Anda harus mendefinisikan metadata dan mengimplementasikan logika fungsional yang sesuai.
1. Mendefinisikan Metadata Skrip
Seer menginisialisasi skrip dengan mencari kamus SCRIPT_INFO atau fungsi script_info() di dalam skrip Anda.
Bidang Wajib
name: Nama tampilan skrip.type: Kategori fungsional:0: Pratinjau1: Kontrol2: Properti
extensions: Daftar ekstensi file (string). Gunakan${type_folder}untuk pencocokan direktori.arguments: Daftar argumen CLI (kecualikanpython.exedan nama file skrip).
Contoh Definisi
SCRIPT_INFO = {
"name": "unzip",
"type": 1,
"extensions": ["zip", "rar", "7z"],
"arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
# Metadata opsional
"author": "YourName",
"version": "1.0.1",
"description": "Deskripsi singkat skrip",
"icon_path": "icon.png", # Hanya tipe Kontrol
}
2. Implementasi Fitur
- Pratinjau (Tipe 0): Memuat/mengurai file input dan mengonversinya ke format yang didukung secara native oleh Seer (mis., PDF, gambar, atau HTML).
-
Contoh: Mengonversi file
.epubke.html. -
Kontrol (Tipe 1): Menambahkan tombol di sisi kiri Bilah Kontrol. Mengkliknya akan menjalankan skrip yang ditentukan.
-
Contoh: Mengompresi folder yang sedang dipratinjau menjadi file
.zip. -
Properti (Tipe 2): Seer secara otomatis menjalankan skrip setelah pemuatan file berhasil. Skrip harus menulis metadata ke file JSON di lokasi yang ditentukan oleh
${output_file}. Seer kemudian membaca dan menampilkan konten JSON ini. - Contoh: Menghitung hash SHA512 dari sebuah file.
3. Variabel yang Tersedia
Token ini diganti secara dinamis oleh Seer dan diteruskan sebagai argumen baris perintah:
| Variabel | Deskripsi |
|---|---|
${7z} |
Jalur absolut ke 7z.exe bawaan Seer. |
${seer_exe} |
Jalur absolut ke Seer.exe. |
${seer_dir} |
Direktori yang berisi Seer.exe. |
${input_file} |
Jalur ke file/folder target yang sedang dipratinjau. |
${output_file} |
Jalur ke file keluaran sementara (diperlukan untuk skrip Properti dan beberapa Pratinjau). |
${no_cache} |
Hanya Pratinjau: Bendera untuk menginstruksikan Seer menghapus file sementara setelah pratinjau ditutup (tidak diteruskan ke skrip sebagai argumen). |
${type_folder} |
Hanya Kontrol: Digunakan untuk mencocokkan tipe direktori. |
${use_backslash} |
Gunakan \ alih-alih / untuk pemisah jalur. |
Catatan:
${no_cache}adalah bendera internal untuk Seer dan tidak diteruskan ke skrip Anda sebagai argumen baris perintah.