Посібник із розробки скриптів
Щоб створити власний скрипт для 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", # Тільки для типу Controls
}
2. Реалізація функціоналу
- Попередній перегляд (Тип 0): завантажує/розбирає вхідний файл і конвертує його у формат, який підтримується Seer (наприклад, PDF, зображення або HTML).
-
Приклад: конвертація файлу
.epubу.html. -
Елементи керування (Тип 1): додає кнопку на ліву частину панелі керування. Натискання виконує визначений скрипт.
-
Приклад: стиснення поточної папки перегляду у файл
.zip. -
Властивості (Тип 2): Seer автоматично виконує скрипт після успішного завантаження файлу. Скрипт повинен записати метадані у файл JSON за шляхом, вказаним у
${output_file}. Потім Seer читає та відображає цей JSON. - Приклад: обчислення хешу SHA512 файлу.
3. Доступні змінні
Ці токени динамічно замінюються Seer і передаються як аргументи командного рядка:
| Змінна | Опис |
|---|---|
${7z} |
Абсолютний шлях до вбудованого 7z.exe від Seer. |
${seer_exe} |
Абсолютний шлях до Seer.exe. |
${seer_dir} |
Каталог, що містить Seer.exe. |
${input_file} |
Шлях до цільового файлу/папки, який зараз переглядається. |
${output_file} |
Шлях до тимчасового вихідного файлу (обов'язково для скриптів типу Property та деяких Preview). |
${no_cache} |
Лише Preview: прапорець, який вказує Seer видалити тимчасовий файл після закриття перегляду (не передається скрипту як аргумент). |
${type_folder} |
Лише Controls: використовується для зіставлення типів каталогів. |
${use_backslash} |
Використовувати \ замість / для роздільників шляхів. |
Примітка:
${no_cache}є внутрішнім прапорцем Seer і не передається вашому скрипту як аргумент командного рядка.