<snippet><content><![CDATA[# :coding: utf-8# :copyright: Copyright (c) 2015 ftrackimportsysimportargparseimportloggingimportftrackclass${1:MyAction}(ftrack.Action):'''${1}.'''#: Action identifier.identifier='${2:my-action}'#: Action label.label='${3:My action}'deflaunch(self,event):'''Callback method for action.'''selection=event['data'].get('selection',[])${4:pass}return{'success':True,'message':'Action completed successfully'}defmain(arguments=None):'''Set up logging and register action.'''ifargumentsisNone:arguments=[]parser=argparse.ArgumentParser()# Allow setting of logging level from arguments.loggingLevels={}forlevelin(logging.NOTSET,logging.DEBUG,logging.INFO,logging.WARNING,logging.ERROR,logging.CRITICAL):loggingLevels[logging.getLevelName(level).lower()]=levelparser.add_argument('-v','--verbosity',help='Set the logging output verbosity.',choices=loggingLevels.keys(),default='info')namespace=parser.parse_args(arguments)# Set up basic logginglogging.basicConfig(level=loggingLevels[namespace.verbosity])# Subscribe to action.ftrack.setup()action=${1}()action.register()# Wait for eventsftrack.EVENT_HUB.wait()if__name__=='__main__':raiseSystemExit(main(sys.argv[1:]))]]></content><tabTrigger>ftrackaction</tabTrigger><scope>source.python</scope><description>Createsanftrackaction</description></snippet>
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.