스크립트 개발 가이드
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": "Short description of the script",
"icon_path": "icon.png", # 컨트롤 유형만 해당
}
2. 기능 구현
- 미리보기 (Type 0): 입력 파일을 로드/파싱하고 Seer가 기본적으로 지원하는 형식(예: PDF, 이미지 또는 HTML)으로 변환합니다
-
예제:
.epub파일을.html로 변환 -
컨트롤 (Type 1): 컨트롤 바 왼쪽에 버튼을 추가합니다. 클릭하면 정의된 스크립트가 실행됩니다
-
예제: 현재 미리보기 중인 폴더를
.zip파일로 압축 -
속성 (Type 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의 내부 플래그이며 스크립트에 명령줄 인수로 전달되지 않습니다.