Flow Production Tracking에서 Custom Protocol 설정하기
Flow Production Tracking에서 사용자 지정 프로토콜(Custom Protocol)을 설정하여 로컬 애플리케이션 또는 스크립트를 실행할 수 있습니다. 이를 통해 shotgrid://와 같은 프로토콜을 통해 특정 작업을 실행하도록 구성할 수 있습니다.
1. Custom Protocol 설정의 개요
사용자 지정 프로토콜은 URL 스킴을 정의하여 애플리케이션이 지정된 URL을 처리하도록 구성합니다. 예를 들어:
- URL: shotgrid://processVersion?id=123
- 목적: 특정 Python 스크립트를 실행하여 버전 엔터티를 처리.
2. 설정 방법
1단계: Custom Protocol 등록
Linux에서 설정
- 핸들러 스크립트 생성
- /usr/local/bin/shotgrid-handler 파일을 생성:
#!/usr/bin/env bash
request="${1#*://}" # 'shotgrid://' 제거
action="${request%%\\?*}" # URL에서 액션 추출 (processVersion 등)
params="${request#*\\?}" # URL에서 파라미터 추출
params="${params//&/ }" # &를 공백으로 변환
# Python 스크립트 실행 (Python 스크립트와 연결)
python3 /path/to/sgTriggerScript.py "$action" $params
- 실행 권한 부여:
sudo chmod +x /usr/local/bin/shotgrid-handler
데스크톱 파일 생성
- /usr/share/applications/shotgrid-handler.desktop 파일 생성:
[Desktop Entry]
Name=ShotGrid URL Handler
GenericName=ShotGrid Handler
Comment=Handle ShotGrid URL Protocol
Exec=/usr/local/bin/shotgrid-handler %u
Terminal=false
Type=Application
MimeType=x-scheme-handler/shotgrid;
Icon=shotgrid-icon
Categories=Development;Utility;
MIME 타입 등록
xdg-mime default /usr/share/applications/shotgrid-handler.desktop x-scheme-handler/shotgri
MIME 데이터베이스 업데이트
sudo update-desktop-database
2단계: Python 스크립트 작성
- Python 스크립트 생성:
- /path/to/sgTriggerScript.py 파일:
-
import sys from urllib.parse import parse_qs def main(args): if len(args) < 1: sys.exit("URL을 제공해야 합니다.") # URL에서 프로토콜과 나머지 데이터 분리 protocol, path = args[0].split("://", 1) action, params = path.split("?", 1) if "?" in path else (path, "") # 파라미터 파싱 parsed_params = parse_qs(params) print(f"Action: {action}") print(f"Parameters: {parsed_params}") # 특정 작업 수행 if action == "processVersion": print("버전 처리 실행") # 추가 처리 로직 삽입 if __name__ == "__main__": main(sys.argv[1:])
- 실행 권한 부여:
chmod +x /path/to/sgTriggerScript.py
- 스크립트 예제 동작:
- URL: shotgrid://processVersion?id=123&user=admin
- 출력 결과:
Action: processVersion
Parameters: {'id': ['123'], 'user': ['admin']}
3단계: Flow Production Tracking에서 AMI 생성
- ShotGrid 인터페이스에서 AMI 생성:
- URL 필드에 shotgrid://processVersion?id={id}와 같은 사용자 지정 URL 삽입.
- AMI를 특정 엔터티 유형(예: Version)에 연결.
- 동작 확인:
- Flow Production Tracking에서 엔터티를 선택하고 생성한 AMI 실행.
- 로컬 스크립트(sgTriggerScript.py)가 실행되고 전달된 데이터를 처리.
3. 사용 예제
- AMI에서 호출된 URL:
shotgrid://processVersion?id=123&user=admin
- 스크립트 출력:
Action: processVersion
Parameters: {'id': ['123'], 'user': ['admin']}
- 활용 사례:
- 로컬 애플리케이션 실행.
- 데이터 처리 후 ShotGrid API를 통해 업데이트.
- 보고서 생성(PDF, CSV 등) 후 사용자에게 반환.
4. 추가 참고사항
- 브라우저에서 프로토콜 실행 시 "Launch Application" 팝업이 나타날 수 있으며, "Remember my choice"를 선택하여 자동 실행 가능.
- 위 방법은 Linux뿐만 아니라 Windows, macOS 환경에도 응용 가능.
How to set subl:// protocol handler with Unity?
My web app generates clickable URLs like the following when an error occurs: subl://open?url=file://%2Fusr%2Flocal%2Fwebenginex%2Fclass%2Fmodels%2Fwxclient.php&line=123 When I click it I get ...
askubuntu.com
'Flow Production Tracking > Help' 카테고리의 다른 글
Webhooks Guide (0) | 2025.01.01 |
---|---|
Getting Started - Getting started with configurations (0) | 2024.12.26 |
Integrations user guide (0) | 2024.12.26 |
Launching Applications Using Custom Browser Protocols (1) | 2024.12.25 |
Custom Action Menu Items (0) | 2024.12.25 |