+# :copyright: Copyright (c) 2015 ftrack
+class ${1:MyAction}(ftrack.Action):
+ identifier = '${2:my-action}'
+ label = '${3:My action}'
+ def launch(self, event):
+ '''Callback method for action.'''
+ selection = event['data'].get('selection', [])
+ 'message': 'Action completed successfully'
+def main(arguments=None):
+ '''Set up logging and register action.'''
+ parser = argparse.ArgumentParser()
+ # Allow setting of logging level from arguments.
+ logging.NOTSET, logging.DEBUG, logging.INFO, logging.WARNING,
+ logging.ERROR, logging.CRITICAL
+ loggingLevels[logging.getLevelName(level).lower()] = level
+ help='Set the logging output verbosity.',
+ choices=loggingLevels.keys(),
+ logging.basicConfig(level=loggingLevels[namespace.verbosity])
+ ftrack.EVENT_HUB.wait()
+if __name__ == '__main__':
+ raise SystemExit(main(sys.argv[1:]))
+ <tabTrigger>ftrackaction</tabTrigger>
+ <scope>source.python</scope>
+ <description>Creates an ftrack action</description>