API

registerCallbacks

프레임워크에 플러그인의 이벤트 처리 진입점에 대해 알리는 데 사용되는 모든 플러그인의 전역 수준 함수입니다.

registerCallbacks(reg)

  • reg: Registrar과 상호 작용하여 프레임워크에 호출할 함수를 알립니다.

Registrar

Registrar은 프레임워크에 플러그인과 상호 작용하는 방법을 알리는 데 사용되는 객체이며 registerCallbacks 함수로 전달됩니다.

속성

logger

getLogger를 참조하십시오.

메서드

getLogger

플러그인 내에서 메시지를 기록하는 데 사용되는 python Logger 객체를 가져옵니다.

setEmails(*emails)

이 플러그인 또는 해당 콜백 중 하나에서 잘못된 상황이 발생하는 경우 오류 및 중요한 알림을 수신해야 하는 이메일을 설정합니다.

구성 파일에 지정된 기본 주소로 이메일을 보내려면(기본값)

reg.setEmails(True)

이메일을 비활성화하려면(오류 메시지를 받아볼 수 없게 되므로 이 방법은 권장되지 않음)

reg.setEmails(False)

특정 주소로 이메일을 보내려면

reg.setEmails('user1@domain.com')

또는

reg.setEmails('user1@domain.com', 'user2@domain.com')

registerCallback(sgScriptName, sgScriptKey, callback, matchEvents=None, args=None, stopOnError=True)

이 플러그인에 대해 엔진에 콜백을 등록합니다.

  • sgScriptName: ShotGrid 스크립트 페이지에서 가져온 스크립트의 이름입니다.
  • sgScriptKey: ShotGrid 스크립트 페이지에서 가져온 스크립트의 응용프로그램 키입니다.
  • callback: __call__ 메서드가 있는 함수 또는 객체입니다. exampleCallback을 참조하십시오.
  • matchEvents: 콜백에 전달하려는 이벤트 필터입니다.
  • args: 프레임워크가 콜백으로 다시 전달되게 하려는 모든 객체입니다.
  • stopOnError: 부울이며 이 콜백의 예외가 이 플러그인의 모든 콜백에 의한 이벤트 처리를 중단해야 합니다. 기본값은 True입니다.

sgScriptName은 ShotGrid에 대한 플러그인을 식별하는 데 사용됩니다. 모든 이름은 여러 콜백에서 공유되거나, 단일 콜백에 대해 고유할 수 있습니다.

sgScriptKey는 ShotGrid에 대한 플러그인을 식별하는 데 사용되며 지정된 sgScriptName에 적합한 키여야 합니다.

필터와 일치하는 이벤트를 처리해야 하는 경우 지정된 콜백 객체가 호출됩니다. 호출 가능한 모든 객체를 실행할 수 있어야 하지만 여기에 클래스를 사용하는 것은 적합하지 않습니다. 함수 또는 __call__ 메서드가 있는 인스턴스를 사용하는 것이 더 적합합니다.

matchEvent 인수는 등록 중인 콜백의 관심 이벤트를 지정할 수 있는 필터입니다. matchEvents가 지정되지 않았거나 None을 지정하면 모든 이벤트가 콜백으로 전달됩니다. 그렇지 않으면 matchEvents 필터의 각 키는 이벤트 유형이고 각 값은 가능한 속성 이름 목록입니다.

matchEvents = {
    'Shotgun_Task_Change': ['sg_status_list'],
}

여러 이벤트 유형 또는 속성 이름이 있을 수 있습니다.

matchEvents = {
    'Shotgun_Task_Change': ['sg_status_list'],
    'Shotgun_Version_Change': ['description', 'sg_status_list']
}

지정된 속성 이름이 있는 이벤트 유형을 필터링할 수 있습니다.

matchEvents = {
    '*': ['sg_status_list'],
}

또한 지정된 이벤트 유형의 속성 이름을 필터링할 수도 있습니다.

matchEvents = {
    'Shotgun_Version_Change': ['*']
}

다음은 유효하며 아무것도 지정하지 않는 것과 같은 기능을 하지만 실제로는 쓸모가 없습니다.

matchEvents = {
    '*': ['*']
}

“_New” 또는 “_Retirement” 등 필드용이 아닌 특정 이벤트 유형에 대해 일치시키는 경우 목록을 제공하지 않고 대신 None을 값으로 전달합니다.

matchEvents = {
    'Shotgun_Version_New': None
}

args 인수는 이벤트 프레임워크 자체에서 사용되지 않지만 수정 없이 콜백으로 다시 전달됩니다.

참고 : args 인수의 요점은 registerCallbacks 함수에서 시간이 많이 걸리는 작업을 처리할 수 있고 이벤트 처리 시 사용자에게 다시 전달할 수 있다는 것입니다.

args 인수의 또 다른 용도는 데이터를 공유하도록 여러 콜백에 대한 변경 가능한 공통 인수로 전달하는 것입니다(예: dict).

stopOnError 인수는 이 콜백의 예외가 플러그인 내 모든 콜백에 대한 이벤트 처리가 중지될 수 있는지 여부를 시스템에 알려 줍니다. 기본적으로 이 값은 True이지만 False로 전환할 수 있습니다. 오류가 있는 경우 오류에 대한 메일 알림이 계속 표시되지만 이벤트 처리는 중지되지 않습니다. 콜백당 설정이므로 True인 중요한 콜백을 사용할 수 있지만 False인 다른 콜백을 사용할 수 있습니다.

콜백

Registrar.registerCallback에 의해 등록된 모든 플러그인 진입점은 일반적으로 다음과 같은 전역 수준 함수입니다.

exampleCallback(sg, logger, event, args)

  • sg: ShotGrid 연결 인스턴스
  • logger: 사용자를 위해 미리 구성된 Python logging.Logger 객체
  • event: 처리할 ShotGrid 이벤트
  • args: 콜백 등록 시간에 지정된 args 인수

참고 : 콜백을 객체 인스턴스에 대한 __call__ 메서드로 구현할 수 있지만 사용자를 위한 연습으로 남겨둡니다.


Edit this document