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: Pratinjau
    • 1: Kontrol
    • 2: Properti
  • extensions: Daftar ekstensi file (string). Gunakan ${type_folder} untuk pencocokan direktori.
  • arguments: Daftar argumen CLI (kecualikan python.exe dan 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 .epub ke .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.