예제 #1
0
    def discover(self, event):

        if not self.is_valid_selection(event):
            return

        items = []
        applications = self.applicationStore.applications
        applications = sorted(
            applications, key=lambda application: application["label"]
        )

        for application in applications:
            applicationIdentifier = application["identifier"]
            label = application["label"]
            items.append({
                "actionIdentifier": self.identifier,
                "label": label,
                "variant": application.get("variant", None),
                "description": application.get("description", None),
                "icon": application.get("icon", "default"),
                "applicationIdentifier": applicationIdentifier
            })

        return {
            "items": items
        }
    def discover(self, event):
        '''Return discovered applications.'''

        if not self.is_valid_selection(
            event['data'].get('selection', [])
        ):
            return

        items = []
        applications = self.application_store.applications
        applications = sorted(
            applications, key=lambda application: application['label']
        )

        for application in applications:
            application_identifier = application['identifier']
            label = application['label']
            items.append({
                'actionIdentifier': self.identifier,
                'label': label,
                'variant': application.get('variant', None),
                'description': application.get('description', None),
                'icon': application.get('icon', 'default'),
                'applicationIdentifier': application_identifier
            })

        return {
            'items': items
        }
예제 #3
0
    def discover(self, event):
        '''Return available actions based on *event*.

        Each action should contain

            actionIdentifier - Unique identifier for the action
            label - Nice name to display in ftrack
            variant - Variant or version of the application.
            icon(optional) - predefined icon or URL to an image
            applicationIdentifier - Unique identifier to identify application
                                    in store.

        '''

        items = []
        applications = self.applicationStore.applications
        applications = sorted(
            applications, key=lambda application: application['label']
        )

        for application in applications:
            applicationIdentifier = application['identifier']
            label = application['label']
            items.append({
                'actionIdentifier': self.identifier,
                'label': label,
                'variant': application.get('variant', None),
                'description': application.get('description', None),
                'icon': application.get('icon', 'default'),
                'applicationIdentifier': applicationIdentifier
            })

        return {
            'items': items
        }
예제 #4
0
    def discover(self, event):
        """Return available actions based on *event*.

        Each action should contain

            actionIdentifier - Unique identifier for the action
            label - Nice name to display in ftrack
            variant - Variant or version of the application.
            icon(optional) - predefined icon or URL to an image
            applicationIdentifier - Unique identifier to identify application
                                    in store.

        """

        items = []
        applications = self.applicationStore.applications
        applications = sorted(
            applications, key=lambda application: application["label"]
        )

        for application in applications:
            applicationIdentifier = application["identifier"]
            label = application["label"]
            items.append({
                "actionIdentifier": self.identifier,
                "label": label,
                "variant": application.get("variant", None),
                "description": application.get("description", None),
                "icon": application.get("icon", "default"),
                "applicationIdentifier": applicationIdentifier
            })

        return {
            "items": items
        }
	def discover(self, event):
		'''Return discovered applications.'''

		if not self.is_valid_selection(
			event['data'].get('selection', [])
		):
			return

		items = []
		applications = self.applicationStore.applications
		applications = sorted(
			applications, key=lambda application: application['label']
		)

		for application in applications:
			applicationIdentifier = application['identifier']
			label = application['label']
			items.append({
				'actionIdentifier': self.identifier,
				'label': label,
				'variant': application.get('variant', None),
				'icon': 'https://s15.postimg.org/wrufi6417/houdini.png',
				'applicationIdentifier': applicationIdentifier
			})

		return {
			'items': items
		}
예제 #6
0
    def discover(self, event):
        """Return discovered applications."""
        """
        if not self.is_valid_selection(
            event["data"].get("selection", [])
        ):
            return
        """
        items = []
        applications = self.application_store.applications
        applications = sorted(
            applications, key=lambda application: application["label"]
        )

        for application in applications:
            application_identifier = application["identifier"]
            label = application["label"]
            items.append({
                "actionIdentifier": self.identifier,
                "label": label,
                "icon": application.get("icon", "default"),
                "applicationIdentifier": application_identifier
            })

        return {
            "items": items
        }
예제 #7
0
    def discover(self, event):
        '''Return discovered applications.'''

        if not self.is_valid_selection(
            event['data'].get('selection', [])
        ):
            return

        items = []
        applications = self.application_store.applications
        applications = sorted(
            applications, key=lambda application: application['label']
        )

        for application in applications:
            application_identifier = application['identifier']
            label = application['label']
            items.append({
                'actionIdentifier': self.identifier,
                'label': label,
                'icon': application.get('icon', 'default'),
                'applicationIdentifier': application_identifier
            })

        return {
            'items': items
        }
예제 #8
0
    def __call__(self, event):
        '''Handle *event*.

        event['data'] should contain:

            selection
                Selected task to discover applications for.
        '''
        data = event['data']

        # If selection contains more than one item return early since
        # applications cannot be started for multiple items or if the
        # selected item is not a "task".
        selection = data.get('selection', [])
        if len(selection) != 1 or selection[0].get('entityType') != 'task':
            return

        items = []
        applications = self.applicationStore.applications
        applications = sorted(
            applications, key=lambda application: application['label']
        )

        for application in applications:
            applicationIdentifier = application['identifier']
            label = application['label']
            items.append({
                'actionIdentifier': self.identifier,
                'label': label,
                'icon': application.get('icon', 'default'),
                'applicationIdentifier': applicationIdentifier
            })

            if applicationIdentifier.startswith('premiere_pro_cc'):
                items.append({
                    'actionIdentifier': self.identifier,
                    'label': '{label} with latest version'.format(
                        label=label
                    ),
                    'icon': application.get('icon', 'default'),
                    'launchWithLatest': True,
                    'applicationIdentifier': applicationIdentifier
                })

        return {
            'items': items
        }
    def discover(self, event):
        '''Return discovered applications.'''
        items = []
        applications = self.applicationStore.applications
        applications = sorted(applications,
                              key=lambda application: application['label'])

        for application in applications:
            applicationIdentifier = application['identifier']
            label = application['label']
            items.append({
                'actionIdentifier': self.identifier,
                'label': label,
                'variant': application.get('variant', None),
                'description': application.get('description', None),
                'icon': application.get('icon', 'default'),
                'applicationIdentifier': applicationIdentifier
            })

        return {'items': items}
예제 #10
0
    def discover(self, event):
        """Return discovered applications."""

        items = []
        applications = self.applicationStore.applications
        applications = sorted(applications,
                              key=lambda application: application["label"])

        for application in applications:
            applicationIdentifier = application["identifier"]
            label = application["label"]
            items.append({
                "actionIdentifier": self.identifier,
                "label": label,
                "variant": application.get("variant", None),
                "description": application.get("description", None),
                "icon": application.get("icon", "default"),
                "applicationIdentifier": applicationIdentifier
            })

        return {"items": items}
예제 #11
0
    def discover(self, event):
        """Return available actions based on *event*.

        Each action should contain

            actionIdentifier - Unique identifier for the action
            label - Nice name to display in ftrack
            variant - Variant or version of the application.
            icon(optional) - predefined icon or URL to an image
            applicationIdentifier - Unique identifier to identify application
                                    in store.

        """
        if not self.is_valid_selection(
            event["data"].get("selection", [])
        ):
            return

        items = []
        applications = self.applicationStore.applications
        applications = sorted(
            applications, key=lambda application: application["label"]
        )

        for application in applications:
            applicationIdentifier = application["identifier"]
            label = application["label"]
            items.append({
                "actionIdentifier": self.identifier,
                "label": label,
                "variant": application.get("variant", None),
                "description": application.get("description", None),
                "icon": application.get("icon", "default"),
                "applicationIdentifier": applicationIdentifier
            })

        return {
            "items": items
        }
예제 #12
0
    def discover(self, event):
        '''Return discovered applications.'''
        if not self.isValidSelection(
            event['data'].get('selection', [])
        ):
            return

        items = []
        applications = self.applicationStore.applications
        applications = sorted(
            applications, key=lambda application: application['label']
        )

        for application in applications:
            applicationIdentifier = application['identifier']
            label = application['label']
            items.append({
                'actionIdentifier': self.identifier,
                'label': label,
                'icon': application.get('icon', 'default'),
                'applicationIdentifier': applicationIdentifier
            })

            items.append({
                'actionIdentifier': self.identifier,
                'label': '{label} with latest version'.format(
                    label=label
                ),
                'icon': application.get('icon', 'default'),
                'launchWithLatest': True,
                'applicationIdentifier': applicationIdentifier
            })

        return {
            'items': items
        }
예제 #13
0
    def __call__(self, event):
        '''Handle *event*.

        event['data'] should contain:

            selection
                Selected task to discover applications for.
        '''
        data = event['data']

        # If selection contains more than one item return early since
        # applications cannot be started for multiple items or if the
        # selected item is not a "task".
        selection = data.get('selection', [])
        if len(selection) != 1 or selection[0].get('entityType') != 'task':
            return

        items = []
        applications = self.applicationStore.applications
        applications = sorted(applications,
                              key=lambda application: application['label'])

        for application in applications:
            applicationIdentifier = application['identifier']
            label = application['label']
            items.append({
                'actionIdentifier': self.identifier,
                'label': label,
                'icon': application.get('icon', 'default'),
                'variant': application.get('variant', None),
                'description': application.get('description', None),
                'applicationIdentifier': applicationIdentifier
            })

            if applicationIdentifier.startswith('premiere_pro_cc'):
                items.append({
                    'actionIdentifier':
                    self.identifier,
                    'label':
                    label,
                    'icon':
                    application.get('icon', 'default'),
                    'variant':
                    '{variant} with latest version'.format(
                        variant=application.get('variant', None)),
                    'description':
                    application.get('description', None),
                    'launchWithLatest':
                    True,
                    'applicationIdentifier':
                    applicationIdentifier
                })

        return {'items': items}
예제 #14
0
    def discover(self, event):
        """Return discovered applications."""
        """
        if not self.is_valid_selection(
            event["data"].get("selection", [])
        ):
            return
        """
        items = []
        applications = self.application_store.applications
        applications = sorted(applications,
                              key=lambda application: application["label"])

        for application in applications:
            application_identifier = application["identifier"]
            label = application["label"]
            items.append({
                "actionIdentifier": self.identifier,
                "label": label,
                "icon": application.get("icon", "default"),
                "applicationIdentifier": application_identifier
            })

        return {"items": items}
예제 #15
0
    def discover(self, event):
        '''Return discovered applications.'''
        selection = event['data'].get('selection', [])
        items = []
        applications = self.applicationStore.applications
        applications = sorted(applications,
                              key=lambda application: application['label'])

        for application in applications:
            applicationIdentifier = application['identifier']
            label = application['label']
            items.append({
                'actionIdentifier': self.identifier,
                'label': label,
                'variant': application.get('variant', None),
                'description': application.get('description', None),
                'icon': application.get('icon', 'default'),
                'applicationIdentifier': applicationIdentifier
            })

            if selection:
                items.append({
                    'actionIdentifier':
                    self.identifier,
                    'label':
                    label,
                    'variant':
                    '{variant} with latest version'.format(
                        variant=application.get('variant', '')),
                    'description':
                    application.get('description', None),
                    'icon':
                    application.get('icon', 'default'),
                    'launchWithLatest':
                    True,
                    'applicationIdentifier':
                    applicationIdentifier
                })

        return {'items': items}