腳本開發指南
若要為 Seer 建立自訂腳本,您必須定義中繼資料並實作對應的功能邏輯。
1. 定義腳本中繼資料
Seer 透過在您的腳本中尋找 SCRIPT_INFO 字典或 script_info() 函式來初始化腳本。
必要欄位
name:腳本的顯示名稱。type:功能類別:0:預覽1:控制項2:屬性
extensions:副檔名清單(字串)。使用${type_folder}進行目錄比對。arguments:CLI 引數清單(不包含python.exe和腳本檔名)。
定義範例
SCRIPT_INFO = {
"name": "unzip",
"type": 1,
"extensions": ["zip", "rar", "7z"],
"arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
# 選用中繼資料
"author": "YourName",
"version": "1.0.1",
"description": "腳本的簡短說明",
"icon_path": "icon.png", # 僅控制項類型
}
2. 功能實作
- 預覽(類型 0): 載入/解析輸入檔案,並將其轉換為 Seer 原生支援的格式(例如 PDF、圖片或 HTML)。
-
範例: 將
.epub檔案轉換為.html。 -
控制項(類型 1): 在控制列左側新增一個按鈕。點擊該按鈕會執行定義的腳本。
-
範例: 將目前預覽的資料夾壓縮為
.zip檔案。 -
屬性(類型 2): Seer 在成功載入檔案後自動執行腳本。腳本必須將中繼資料寫入
${output_file}指定的位置的 JSON 檔案。Seer 隨後讀取並顯示此 JSON 內容。 - 範例: 計算檔案的 SHA512 雜湊值。
3. 可用變數
這些權杖會由 Seer 動態替換,並作為命令列引數傳遞:
| 變數 | 說明 |
|---|---|
${7z} |
Seer 內建 7z.exe 的絕對路徑。 |
${seer_exe} |
Seer.exe 的絕對路徑。 |
${seer_dir} |
包含 Seer.exe 的目錄。 |
${input_file} |
目前正在預覽的目標檔案/資料夾路徑。 |
${output_file} |
暫存輸出檔案的路徑(屬性及部分預覽腳本需要)。 |
${no_cache} |
僅預覽: 指示 Seer 在預覽關閉後刪除暫存檔的旗標(不會作為引數傳遞給腳本)。 |
${type_folder} |
僅控制項: 用於比對目錄類型。 |
${use_backslash} |
使用 \ 而非 / 作為路徑分隔符號。 |
注意:
${no_cache}是 Seer 的內部旗標,不會作為命令列引數傳遞給您的腳本。