Skip to content

collect_app_name

Run after global plugin 'CollectHostName' in ayon_core.

Requires

None

Provides

context -> hostName (str) context -> appName (str) context -> appLabel (str)

CollectAppName

Bases: ContextPlugin

Collect avalon host name to context.

Source code in client/ayon_applications/plugins/publish/collect_app_name.py
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
class CollectAppName(pyblish.api.ContextPlugin):
    """Collect avalon host name to context."""

    label = "Collect App Name"
    order = pyblish.api.CollectorOrder - 0.499999

    def process(self, context):
        host_name = context.data.get("hostName")
        app_name = context.data.get("appName")
        app_label = context.data.get("appLabel")
        # Don't override value if is already set
        if host_name and app_name and app_label:
            return

        # Use AYON_APP_NAME to get full app name
        if not app_name:
            app_name = os.environ.get("AYON_APP_NAME")

        # Fill missing values based on app full name
        if (not host_name or not app_label) and app_name:
            app_manager = ApplicationManager()
            app = app_manager.applications.get(app_name)
            if app:
                if not host_name:
                    host_name = app.host_name
                if not app_label:
                    app_label = app.full_label

        context.data["hostName"] = host_name
        context.data["appName"] = app_name
        context.data["appLabel"] = app_label