スクリプト開発ガイド
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 の内部フラグであり、スクリプトにコマンドライン引数として渡されません。