diff --git a/.buildinfo b/.buildinfo index b59517b0..b3dca4aa 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: bccc04b0f712abdd7d9c8e55c62d1c1a +config: 0a77b88946aa4de4c2fdace9471d64d2 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/api.doctree b/.doctrees/api.doctree index 805728fb..24453486 100644 Binary files a/.doctrees/api.doctree and b/.doctrees/api.doctree differ diff --git a/.doctrees/application.doctree b/.doctrees/application.doctree index 0f5c3818..40cc5b1b 100644 Binary files a/.doctrees/application.doctree and b/.doctrees/application.doctree differ diff --git a/.doctrees/customizing.doctree b/.doctrees/customizing.doctree index dfa8c602..ddc06413 100644 Binary files a/.doctrees/customizing.doctree and b/.doctrees/customizing.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 18845680..b612db7d 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree index 84147da3..9f9c1b55 100644 Binary files a/.doctrees/index.doctree and b/.doctrees/index.doctree differ diff --git a/.doctrees/logging.doctree b/.doctrees/logging.doctree index 8c25ba0b..3ab2ba81 100644 Binary files a/.doctrees/logging.doctree and b/.doctrees/logging.doctree differ diff --git a/.doctrees/utility.doctree b/.doctrees/utility.doctree index db3978a1..6987f2be 100644 Binary files a/.doctrees/utility.doctree and b/.doctrees/utility.doctree differ diff --git a/_images/tutorial_create_plugin_upload_version_playblast.png b/_images/tutorial_create_plugin_upload_version_playblast.png new file mode 100644 index 00000000..fedd08f6 Binary files /dev/null and b/_images/tutorial_create_plugin_upload_version_playblast.png differ diff --git a/_modules/app.html b/_modules/app.html index 8279eba9..f2f7d796 100644 --- a/_modules/app.html +++ b/_modules/app.html @@ -5,7 +5,7 @@ - app — tk-multi-publish2 v2.8.4 documentation + app — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/index.html b/_modules/index.html index 5e5a1810..cfc03ca0 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -5,7 +5,7 @@ - Overview: module code — tk-multi-publish2 v2.8.4 documentation + Overview: module code — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/api/data.html b/_modules/tk_multi_publish2/api/data.html index b16f54dc..119b5e4e 100644 --- a/_modules/tk_multi_publish2/api/data.html +++ b/_modules/tk_multi_publish2/api/data.html @@ -5,7 +5,7 @@ - tk_multi_publish2.api.data — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.api.data — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/api/item.html b/_modules/tk_multi_publish2/api/item.html index aa658f45..9fd350db 100644 --- a/_modules/tk_multi_publish2/api/item.html +++ b/_modules/tk_multi_publish2/api/item.html @@ -5,7 +5,7 @@ - tk_multi_publish2.api.item — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.api.item — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/api/manager.html b/_modules/tk_multi_publish2/api/manager.html index 0fc0af1b..14e4516a 100644 --- a/_modules/tk_multi_publish2/api/manager.html +++ b/_modules/tk_multi_publish2/api/manager.html @@ -5,7 +5,7 @@ - tk_multi_publish2.api.manager — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.api.manager — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/api/plugins/setting.html b/_modules/tk_multi_publish2/api/plugins/setting.html index 34001143..40de8101 100644 --- a/_modules/tk_multi_publish2/api/plugins/setting.html +++ b/_modules/tk_multi_publish2/api/plugins/setting.html @@ -5,7 +5,7 @@ - tk_multi_publish2.api.plugins.setting — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.api.plugins.setting — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/api/task.html b/_modules/tk_multi_publish2/api/task.html index 1c084d5b..eac0fe93 100644 --- a/_modules/tk_multi_publish2/api/task.html +++ b/_modules/tk_multi_publish2/api/task.html @@ -5,7 +5,7 @@ - tk_multi_publish2.api.task — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.api.task — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/api/tree.html b/_modules/tk_multi_publish2/api/tree.html index 01b51cc4..22889e8b 100644 --- a/_modules/tk_multi_publish2/api/tree.html +++ b/_modules/tk_multi_publish2/api/tree.html @@ -5,7 +5,7 @@ - tk_multi_publish2.api.tree — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.api.tree — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/base_hooks/collector.html b/_modules/tk_multi_publish2/base_hooks/collector.html index 417cbb87..353122ea 100644 --- a/_modules/tk_multi_publish2/base_hooks/collector.html +++ b/_modules/tk_multi_publish2/base_hooks/collector.html @@ -5,7 +5,7 @@ - tk_multi_publish2.base_hooks.collector — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.base_hooks.collector — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/base_hooks/post_phase.html b/_modules/tk_multi_publish2/base_hooks/post_phase.html index 88d7b82c..58d3fda2 100644 --- a/_modules/tk_multi_publish2/base_hooks/post_phase.html +++ b/_modules/tk_multi_publish2/base_hooks/post_phase.html @@ -5,7 +5,7 @@ - tk_multi_publish2.base_hooks.post_phase — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.base_hooks.post_phase — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/base_hooks/publish_plugin.html b/_modules/tk_multi_publish2/base_hooks/publish_plugin.html index f2d20a5f..03869722 100644 --- a/_modules/tk_multi_publish2/base_hooks/publish_plugin.html +++ b/_modules/tk_multi_publish2/base_hooks/publish_plugin.html @@ -5,7 +5,7 @@ - tk_multi_publish2.base_hooks.publish_plugin — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.base_hooks.publish_plugin — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_modules/tk_multi_publish2/util.html b/_modules/tk_multi_publish2/util.html index 9afc5cfa..a5a47fee 100644 --- a/_modules/tk_multi_publish2/util.html +++ b/_modules/tk_multi_publish2/util.html @@ -5,7 +5,7 @@ - tk_multi_publish2.util — tk-multi-publish2 v2.8.4 documentation + tk_multi_publish2.util — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. diff --git a/_sources/customizing.rst.txt b/_sources/customizing.rst.txt index 8f4f4728..ec55c5bb 100644 --- a/_sources/customizing.rst.txt +++ b/_sources/customizing.rst.txt @@ -52,6 +52,266 @@ custom publish plugin UI. ---- +Step-by-Step Tutorials +__________________________________ + +Listed below are step-by-step tutorials to help you customize your publish +workflows using publish plugins. See :ref:`publish-api` reference for more +technical details of the Publish Plugin. + +Create a Publish Plugin +**************************** + +This tutorial will guide you through the process of creating a new publish +plugin to create a new Version in Flow Production Tracking from a Playblast file +in Maya, and customizing your Toolkit configuration to use this new plugin. This +tutorial will focus on creating and setting up a new publish plugin, and less +about the specifics of Playblasts in Maya (it does not require extensive +knowledge of Maya or Playblasts, only if you want to test out this change you +would need to know how to create a Playblast in Maya). If you are interested in +creating a new publih plugin for another DCC, you can still follow this +tutorial, but you will need to add the configuration settings under the +appropriate DCC in your Toolkit configuration. + + +Before you begin, you will need to have the following: + +* A local copy of your Toolkit configuration +* The configuration must be based off the tk-config-default2 configuration + +**1. Add a new publish plugin setting to your configuration.** + +We need to add a new setting to the tk-multi-publish2 app configuration in +order to use our new publish plugin. We will modify the +``tk-config-default2/env/includes/settings/tk-multi-publish2.yml`` file to add a +new entry under the ``settings.tk-multi-publish2.maya.asset_step`` publish_plugins +list called "Create Version from Playblast": + +.. code-block:: yaml + + # ---- Maya + + # asset step + settings.tk-multi-publish2.maya.asset_step: + collector: "{self}/collector.py:{engine}/tk-multi-publish2/basic/collector.py" + collector_settings: + Work Template: maya_asset_work + publish_plugins: + - name: Publish to Flow Production Tracking + hook: "{self}/publish_file.py" + settings: {} + - name: Upload for review + hook: "{self}/upload_version.py" + settings: {} + - name: Begin file versioning + hook: "{engine}/tk-multi-publish2/basic/start_version_control.py" + settings: {} + - name: Publish to Flow Production Tracking + hook: "{self}/publish_file.py:{engine}/tk-multi-publish2/basic/publish_session.py" + settings: + Publish Template: maya_asset_publish + - name: Publish to Flow Production Tracking + hook: "{self}/publish_file.py:{engine}/tk-multi-publish2/basic/publish_session_geometry.py" + settings: + Publish Template: asset_alembic_cache + - name: Create Version from Playblast + hook: "{self}/upload_version.py:{config}/tk-multi-publish2/basic/upload_version_playblast.py" + settings: {} + help_url: *help_url + location: "@apps.tk-multi-publish2.location" + +This is the new entry we added to the configuration: + +.. code-block:: yaml + + - name: Create Version from Playblast + hook: "{self}/upload_version.py:{config}/tk-multi-publish2/basic/upload_version_playblast.py" + settings: {} + +The publish plugin will have the name "Create Version from Playblast" and will +use the publish plugin defined by the hook +``tk-config-default2/hooks/tk-multi-publish2/upload_version_playblast.py``. The +``{config}`` token will be resolved to the path of your Toolkit configuration. + +The publish plugin will have the base class of the publish plugin defined in the +tk-multi-publish2 App ``tk-multi-publish2/hooks//upload_version.py``. The +``{self}`` token will be resolved to the path of the tk-multi-publish2 App. + +**2. Create the new publish plugin file.** + +From Step 1, we defined a new publish plugin file in the configuration at the +location ``tk-config-default2/hooks/tk-multi-publish2`` and named +``upload_version_playblast.py``. So we will now need to create that file, below +is the implementaiton of the new publish plugin file: + +.. code-block:: python + + import sgtk + + HookBaseClass = sgtk.get_hook_baseclass() + + class MayaUploadVersionPlayblastPlugin(HookBaseClass): + """Plugin for sending Playblasts to Flow Production Tracking for review.""" + + @property + def description(self): + """ + Verbose, multi-line description of what the plugin does. This can + contain simple html for formatting. + """ + + return """ + Upload the Playblast file to Flow Production Tracking for review.

+ + A Version entry will be created in Flow Production Tracking and + a transcoded copy of the file will be attached to it. The Version will be + linked to the Published File created for the Playblast. + """ + + @property + def settings(self): + """ + Dictionary defining the settings that this plugin expects to recieve + through the settings parameter in the accept, validate, publish and + finalize methods. + + A dictionary on the following form:: + + { + "Settings Name": { + "type": "settings_type", + "default": "default_value", + "description": "One line description of the setting" + } + + The type string should be one of the data types that toolkit accepts as + part of its environment configuration. + """ + return { + "Upload": { + "type": "bool", + "default": True, + "description": "Upload content to Flow Production Tracking?", + }, + "Link Local File": { + "type": "bool", + "default": True, + "description": "Should the local file be referenced by Flow Production Tracking", + }, + } + + @property + def item_filters(self): + """ + List of item types that this plugin is interested in. + + Only items matching entries in this list will be presented to the + accept() method. Strings can contain glob patters such as *, for example + ["maya.*", "file.maya"] + """ + + return ["file.video"] + + def accept(self, settings, item): + """ + Method called by the publisher to determine if an item is of any + interest to this plugin. Only items matching the filters defined via the + item_filters property will be presented to this method. + + A publish task will be generated for each item accepted here. Returns a + dictionary with the following booleans: + + - accepted: Indicates if the plugin is interested in this value at + all. Required. + - enabled: If True, the plugin will be enabled in the UI, otherwise + it will be disabled. Optional, True by default. + - visible: If True, the plugin will be visible in the UI, otherwise + it will be hidden. Optional, True by default. + - checked: If True, the plugin will be checked in the UI, otherwise + it will be unchecked. Optional, True by default. + + :param settings: Dictionary of Settings. The keys are strings, matching + the keys returned in the settings property. The values are `Setting` + instances. + :param item: Item to process + + :returns: dictionary with boolean keys accepted, required and enabled + """ + + return {"accepted": True} + + def validate(self, settings, item): + """ + Validates the given item to check that it is ok to publish. + + Returns a boolean to indicate validity. + + :param settings: Dictionary of Settings. The keys are strings, matching + the keys returned in the settings property. The values are `Setting` + instances. + :param item: Item to process + + :returns: True if item is valid, False otherwise. + """ + + path = item.get_property("path") + if not path: + self.logger.error("Missing Playblast file path.") + return False + return True + + def publish(self, settings, item): + """ + Executes the publish logic for the given item and settings. + + :param settings: Dictionary of Settings. The keys are strings, matching + the keys returned in the settings property. The values are `Setting` + instances. + :param item: Item to process + """ + + # Set the publish name property for the UploadVersionPlugin to consume + item.properties["publish_name"] = item.get_property("sg_publish_data", {}).get("name") + + super(MayaUploadVersionPlayblastPlugin, self).publish(settings, item) + +Breaking down this publish plugin: + +* The ``description`` property provides a verbose description of what the plugin + does. This description will be displayed in the UI when the plugin is selected. + +* The ``settings`` property defines the settings that the plugin expects to + receive. The settings are used to help guide the publish plugin execution. + +* The ``item_filters`` property defines the item types that the plugin is + interested in. Only items matching the filters defined here will be presented + to the plugin. For example, we know that Playblast files are video files, so + we set the item filter to ``file.video``. + +* The ``accept`` method is called by the publisher to determine if an item is of + interest to the plugin. A plugin will only show up in the publisher if it is + accepted. + +* The ``validate`` method validates the item to check if it is ok to publish. A + publish plugin will not execute its publish method if it is does not pass the + validation. + +* The ``publish`` method executes the publish logic for the given item and settings. + In our case, the publish method will create a new Version in Flow Production + Tracking and attach the Playblast file to it. + +See the :ref:`publish-api` reference for more information on how to extend the +MayaUploadVersionPlayblastPlugin class. + +**3. Run Maya with your modified configuration.** + +Now that you have created the new publish plugin and added it to your +configuration, you can run Maya with your modified configuration. When you run +the Publisher, you should see the new "Create Version from Playblast" plugin: + +.. image:: resources/tutorial_create_plugin_upload_version_playblast.png + + Publish Plugin API __________________ diff --git a/_static/documentation_options.js b/_static/documentation_options.js index 65b09b46..32553249 100644 --- a/_static/documentation_options.js +++ b/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: 'v2.8.4', + VERSION: 'v2.9.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/api.html b/api.html index d42adc6b..e32b9404 100644 --- a/api.html +++ b/api.html @@ -6,7 +6,7 @@ - Publish API — tk-multi-publish2 v2.8.4 documentation + Publish API — tk-multi-publish2 v2.9.0 documentation @@ -179,7 +179,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. @@ -871,7 +871,7 @@
property context
-

The sgtk.Context associated with this item.

+

The sgtk.Context associated with this item.

If no context has been explicitly set for this item, the context will be inherited from the item’s parent. If none of this item’s parents have had a context set explicitly, the publisher’s launch context will be diff --git a/application.html b/application.html index 91ea1673..b8113cf6 100644 --- a/application.html +++ b/application.html @@ -6,7 +6,7 @@ - App Interface — tk-multi-publish2 v2.8.4 documentation + App Interface — tk-multi-publish2 v2.9.0 documentation @@ -92,7 +92,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
+ tk-multi-publish2 v2.9.0.
This documentation is part of the Flow Production Tracking. @@ -139,7 +139,7 @@

App Interface
class app.MultiPublish2[source]
-

This is the sgtk.platform.Application subclass that defines the +

This is the sgtk.platform.Application subclass that defines the top-level publish2 interface.

Application instances are constructed by the toolkit launch process and various factory methods such as start_engine().

diff --git a/customizing.html b/customizing.html index 82dfb090..aab8969c 100644 --- a/customizing.html +++ b/customizing.html @@ -6,7 +6,7 @@ - Publish Customization — tk-multi-publish2 v2.8.4 documentation + Publish Customization — tk-multi-publish2 v2.9.0 documentation @@ -23,7 +23,7 @@ - + @@ -68,6 +68,10 @@
  • Publish Plugin
      +
    • Step-by-Step Tutorials +
    • Publish Plugin API @@ -110,7 +114,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
      + tk-multi-publish2 v2.9.0.
      This documentation is part of the Flow Production Tracking. @@ -168,7 +172,7 @@

      Publish Customization

      Note

      For more information on how to take over, subclass, and manage hooks, -see the Hooks documentation.

      +see the Hooks documentation.


      @@ -176,7 +180,7 @@

      Collector Hook API
      class tk_multi_publish2.base_hooks.CollectorPlugin(parent)[source]
      -

      Bases: Hook

      +

      Bases: Hook

      This class defines the required interface for a collector plugin. Collectors are used to gather individual files that are loaded via the file browser or dragged and dropped into the Publish2 UI. It is also used @@ -393,15 +397,252 @@

      Collector Hook API

      Note

      For more information on how to take over, subclass, and manage hooks, -see the Hooks documentation.

      +see the Hooks documentation.


      +
      +

      Step-by-Step Tutorials

      +

      Listed below are step-by-step tutorials to help you customize your publish +workflows using publish plugins. See Publish API reference for more +technical details of the Publish Plugin.

      +
      +

      Create a Publish Plugin

      +

      This tutorial will guide you through the process of creating a new publish +plugin to create a new Version in Flow Production Tracking from a Playblast file +in Maya, and customizing your Toolkit configuration to use this new plugin. This +tutorial will focus on creating and setting up a new publish plugin, and less +about the specifics of Playblasts in Maya (it does not require extensive +knowledge of Maya or Playblasts, only if you want to test out this change you +would need to know how to create a Playblast in Maya). If you are interested in +creating a new publih plugin for another DCC, you can still follow this +tutorial, but you will need to add the configuration settings under the +appropriate DCC in your Toolkit configuration.

      +

      Before you begin, you will need to have the following:

      +
        +
      • A local copy of your Toolkit configuration

      • +
      • The configuration must be based off the tk-config-default2 configuration

      • +
      +

      1. Add a new publish plugin setting to your configuration.

      +

      We need to add a new setting to the tk-multi-publish2 app configuration in +order to use our new publish plugin. We will modify the +tk-config-default2/env/includes/settings/tk-multi-publish2.yml file to add a +new entry under the settings.tk-multi-publish2.maya.asset_step publish_plugins +list called “Create Version from Playblast”:

      +
      # ---- Maya
      +
      +# asset step
      +settings.tk-multi-publish2.maya.asset_step:
      +collector: "{self}/collector.py:{engine}/tk-multi-publish2/basic/collector.py"
      +collector_settings:
      +    Work Template: maya_asset_work
      +publish_plugins:
      +- name: Publish to Flow Production Tracking
      +    hook: "{self}/publish_file.py"
      +    settings: {}
      +- name: Upload for review
      +    hook: "{self}/upload_version.py"
      +    settings: {}
      +- name: Begin file versioning
      +    hook: "{engine}/tk-multi-publish2/basic/start_version_control.py"
      +    settings: {}
      +- name: Publish to Flow Production Tracking
      +    hook: "{self}/publish_file.py:{engine}/tk-multi-publish2/basic/publish_session.py"
      +    settings:
      +        Publish Template: maya_asset_publish
      +- name: Publish to Flow Production Tracking
      +    hook: "{self}/publish_file.py:{engine}/tk-multi-publish2/basic/publish_session_geometry.py"
      +    settings:
      +        Publish Template: asset_alembic_cache
      +- name: Create Version from Playblast
      +    hook: "{self}/upload_version.py:{config}/tk-multi-publish2/basic/upload_version_playblast.py"
      +    settings: {}
      +help_url: *help_url
      +location: "@apps.tk-multi-publish2.location"
      +
      +
      +

      This is the new entry we added to the configuration:

      +
      - name: Create Version from Playblast
      +    hook: "{self}/upload_version.py:{config}/tk-multi-publish2/basic/upload_version_playblast.py"
      +    settings: {}
      +
      +
      +

      The publish plugin will have the name “Create Version from Playblast” and will +use the publish plugin defined by the hook +tk-config-default2/hooks/tk-multi-publish2/upload_version_playblast.py. The +{config} token will be resolved to the path of your Toolkit configuration.

      +

      The publish plugin will have the base class of the publish plugin defined in the +tk-multi-publish2 App tk-multi-publish2/hooks//upload_version.py. The +{self} token will be resolved to the path of the tk-multi-publish2 App.

      +

      2. Create the new publish plugin file.

      +

      From Step 1, we defined a new publish plugin file in the configuration at the +location tk-config-default2/hooks/tk-multi-publish2 and named +upload_version_playblast.py. So we will now need to create that file, below +is the implementaiton of the new publish plugin file:

      +
      import sgtk
      +
      +HookBaseClass = sgtk.get_hook_baseclass()
      +
      +class MayaUploadVersionPlayblastPlugin(HookBaseClass):
      +    """Plugin for sending Playblasts to Flow Production Tracking for review."""
      +
      +    @property
      +    def description(self):
      +        """
      +        Verbose, multi-line description of what the plugin does. This can
      +        contain simple html for formatting.
      +        """
      +
      +        return """
      +        Upload the Playblast file to Flow Production Tracking for review.<br><br>
      +
      +        A <b>Version</b> entry will be created in Flow Production Tracking and
      +        a transcoded copy of the file will be attached to it. The Version will be
      +        linked to the Published File created for the Playblast.
      +        """
      +
      +    @property
      +    def settings(self):
      +        """
      +        Dictionary defining the settings that this plugin expects to recieve
      +        through the settings parameter in the accept, validate, publish and
      +        finalize methods.
      +
      +        A dictionary on the following form::
      +
      +            {
      +                "Settings Name": {
      +                    "type": "settings_type",
      +                    "default": "default_value",
      +                    "description": "One line description of the setting"
      +            }
      +
      +        The type string should be one of the data types that toolkit accepts as
      +        part of its environment configuration.
      +        """
      +        return {
      +            "Upload": {
      +                "type": "bool",
      +                "default": True,
      +                "description": "Upload content to Flow Production Tracking?",
      +            },
      +            "Link Local File": {
      +                "type": "bool",
      +                "default": True,
      +                "description": "Should the local file be referenced by Flow Production Tracking",
      +            },
      +        }
      +
      +    @property
      +    def item_filters(self):
      +        """
      +        List of item types that this plugin is interested in.
      +
      +        Only items matching entries in this list will be presented to the
      +        accept() method. Strings can contain glob patters such as *, for example
      +        ["maya.*", "file.maya"]
      +        """
      +
      +        return ["file.video"]
      +
      +    def accept(self, settings, item):
      +        """
      +        Method called by the publisher to determine if an item is of any
      +        interest to this plugin. Only items matching the filters defined via the
      +        item_filters property will be presented to this method.
      +
      +        A publish task will be generated for each item accepted here. Returns a
      +        dictionary with the following booleans:
      +
      +            - accepted: Indicates if the plugin is interested in this value at
      +                all. Required.
      +            - enabled: If True, the plugin will be enabled in the UI, otherwise
      +                it will be disabled. Optional, True by default.
      +            - visible: If True, the plugin will be visible in the UI, otherwise
      +                it will be hidden. Optional, True by default.
      +            - checked: If True, the plugin will be checked in the UI, otherwise
      +                it will be unchecked. Optional, True by default.
      +
      +        :param settings: Dictionary of Settings. The keys are strings, matching
      +            the keys returned in the settings property. The values are `Setting`
      +            instances.
      +        :param item: Item to process
      +
      +        :returns: dictionary with boolean keys accepted, required and enabled
      +        """
      +
      +        return {"accepted": True}
      +
      +    def validate(self, settings, item):
      +        """
      +        Validates the given item to check that it is ok to publish.
      +
      +        Returns a boolean to indicate validity.
      +
      +        :param settings: Dictionary of Settings. The keys are strings, matching
      +            the keys returned in the settings property. The values are `Setting`
      +            instances.
      +        :param item: Item to process
      +
      +        :returns: True if item is valid, False otherwise.
      +        """
      +
      +        path = item.get_property("path")
      +        if not path:
      +            self.logger.error("Missing Playblast file path.")
      +            return False
      +        return True
      +
      +    def publish(self, settings, item):
      +        """
      +        Executes the publish logic for the given item and settings.
      +
      +        :param settings: Dictionary of Settings. The keys are strings, matching
      +            the keys returned in the settings property. The values are `Setting`
      +            instances.
      +        :param item: Item to process
      +        """
      +
      +        # Set the publish name property for the UploadVersionPlugin to consume
      +        item.properties["publish_name"] = item.get_property("sg_publish_data", {}).get("name")
      +
      +        super(MayaUploadVersionPlayblastPlugin, self).publish(settings, item)
      +
      +
      +

      Breaking down this publish plugin:

      +
        +
      • The description property provides a verbose description of what the plugin +does. This description will be displayed in the UI when the plugin is selected.

      • +
      • The settings property defines the settings that the plugin expects to +receive. The settings are used to help guide the publish plugin execution.

      • +
      • The item_filters property defines the item types that the plugin is +interested in. Only items matching the filters defined here will be presented +to the plugin. For example, we know that Playblast files are video files, so +we set the item filter to file.video.

      • +
      • The accept method is called by the publisher to determine if an item is of +interest to the plugin. A plugin will only show up in the publisher if it is +accepted.

      • +
      • The validate method validates the item to check if it is ok to publish. A +publish plugin will not execute its publish method if it is does not pass the +validation.

      • +
      • The publish method executes the publish logic for the given item and settings. +In our case, the publish method will create a new Version in Flow Production +Tracking and attach the Playblast file to it.

      • +
      +

      See the Publish API reference for more information on how to extend the +MayaUploadVersionPlayblastPlugin class.

      +

      3. Run Maya with your modified configuration.

      +

      Now that you have created the new publish plugin and added it to your +configuration, you can run Maya with your modified configuration. When you run +the Publisher, you should see the new “Create Version from Playblast” plugin:

      +_images/tutorial_create_plugin_upload_version_playblast.png +
      +

      Publish Plugin API

      class tk_multi_publish2.base_hooks.PublishPlugin(parent)[source]
      -

      Bases: Hook

      +

      Bases: Hook

      This class defines the required interface for a publish plugin. Publish plugins are responsible for operating on items collected by the collector plugin. Publish plugins define which items they will operate on as well as @@ -864,7 +1105,7 @@

      Post Phase Hook
      class tk_multi_publish2.base_hooks.PostPhaseHook(parent)[source]
      -

      Bases: Hook

      +

      Bases: Hook

      This hook defines methods that are executed after each phase of a publish: validation, publish, and finalization. Each method receives the PublishTree tree instance being used by the publisher, giving @@ -989,7 +1230,7 @@

      Post Phase Hook - + diff --git a/genindex.html b/genindex.html index d182c3ae..ed8a10e8 100644 --- a/genindex.html +++ b/genindex.html @@ -5,7 +5,7 @@ - Index — tk-multi-publish2 v2.8.4 documentation + Index — tk-multi-publish2 v2.9.0 documentation @@ -82,7 +82,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
      + tk-multi-publish2 v2.9.0.
      This documentation is part of the Flow Production Tracking. diff --git a/index.html b/index.html index acb639fb..36688068 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@ - Flow Production Tracking Publisher API reference, v2.8.4 — tk-multi-publish2 v2.8.4 documentation + Flow Production Tracking Publisher API reference, v2.9.0 — tk-multi-publish2 v2.9.0 documentation @@ -84,7 +84,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
      + tk-multi-publish2 v2.9.0.
      This documentation is part of the Flow Production Tracking. @@ -117,7 +117,7 @@
      • - +
      @@ -127,7 +127,7 @@
      -

      Flow Production Tracking Publisher API reference, v2.8.4

      +

      Flow Production Tracking Publisher API reference, v2.9.0

      Overview

      The Publish app is a highly customizable workflow tool that allows studios to diff --git a/logging.html b/logging.html index a89bbeb7..d496fce4 100644 --- a/logging.html +++ b/logging.html @@ -6,7 +6,7 @@ - Logging — tk-multi-publish2 v2.8.4 documentation + Logging — tk-multi-publish2 v2.9.0 documentation @@ -92,7 +92,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
      + tk-multi-publish2 v2.9.0.
      This documentation is part of the Flow Production Tracking. diff --git a/objects.inv b/objects.inv index b6e7f768..3e64d20c 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/search.html b/search.html index 5af13295..d80b9255 100644 --- a/search.html +++ b/search.html @@ -5,7 +5,7 @@ - Search — tk-multi-publish2 v2.8.4 documentation + Search — tk-multi-publish2 v2.9.0 documentation @@ -85,7 +85,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
      + tk-multi-publish2 v2.9.0.
      This documentation is part of the Flow Production Tracking. diff --git a/searchindex.js b/searchindex.js index b92bb5a4..8fb81851 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api", "application", "customizing", "index", "logging", "utility"], "filenames": ["api.rst", "application.rst", "customizing.rst", "index.rst", "logging.rst", "utility.rst"], "titles": ["Publish API", "App Interface", "Publish Customization", "Flow Production Tracking Publisher API reference, v2.8.4", "Logging", "Utilities"], "terms": {"The": [0, 1, 2, 3, 4, 5], "give": [0, 2], "develop": [0, 3], "access": [0, 1, 2], "underli": [0, 3], "data": [0, 2, 3], "structur": [0, 5], "method": [0, 1, 2, 4, 5], "us": [0, 1, 2, 3, 4, 5], "ui": [0, 1, 2, 3, 4], "thei": [0, 1, 2, 3], "can": [0, 1, 2, 3, 4, 5], "thi": [0, 1, 2, 3, 4, 5], "interfac": [0, 2, 3], "build": [0, 3], "more": [0, 2, 3], "advanc": [0, 3], "custom": [0, 1, 3], "workflow": [0, 1, 2, 3], "primari": 0, "i": [0, 1, 2, 3, 4, 5], "class": [0, 1, 2], "which": [0, 2, 3], "expos": [0, 1, 2, 3, 5], "same": [0, 2], "collect": [0, 2], "valid": [0, 2, 3, 4], "final": [0, 2, 3], "drive": [0, 2, 3], "manag": [0, 2], "contain": [0, 2, 4, 5], "refer": [0, 2], "instanc": [0, 1, 2], "oper": [0, 2, 3], "hierarchi": [0, 1, 2], "thing": [0, 2], "each": [0, 2, 3, 5], "have": [0, 2, 3], "associ": [0, 2, 5], "defin": [0, 1, 2, 3], "how": [0, 1, 2, 3, 4], "item": [0, 2, 5], "ar": [0, 1, 2, 3, 4, 5], "process": [0, 1, 2, 3, 5], "code": [0, 1], "below": [0, 2, 3, 4, 5], "show": [0, 2, 3], "execut": [0, 2, 4], "complet": [0, 2, 3], "need": [0, 1, 3, 5], "an": [0, 2, 3, 4, 5], "engin": [0, 1, 2, 4, 5], "run": [0, 1, 3], "context": [0, 2, 3, 5], "where": [0, 2, 5], "ha": [0, 2, 3, 4], "been": [0, 2], "configur": [0, 1, 2, 3], "sgtk": [0, 1, 2], "platform": [0, 1], "current_engin": 0, "get": [0, 1, 2, 3], "app": [0, 2, 3, 5], "from": [0, 2, 4, 5], "": [0, 1, 2, 3, 4, 5], "list": [0, 2, 3, 5], "publish_app": 0, "tk": [0, 1, 2], "multi": [0, 2], "publish2": [0, 1, 2], "ensur": [0, 2], "we": 0, "rais": [0, 2, 4], "except": [0, 2, 4], "creat": [0, 1, 2, 3, 4], "new": [0, 2], "create_publish_manag": [0, 1], "now": 0, "collector": [0, 1, 3, 4], "collect_sess": 0, "some": [0, 1, 2, 5], "extern": 0, "file": [0, 2, 3, 4, 5], "collect_fil": 0, "path1": 0, "path2": 0, "path3": 0, "tasks_failed_valid": 0, "oop": 0, "task": [0, 2, 3], "invalid": 0, "see": [0, 1, 2, 3], "fix": [0, 4], "fix_invalid_task": 0, "try": [0, 4], "again": [0, 2], "here": [0, 2, 4], "bail": 0, "all": [0, 2, 3], "good": 0, "let": 0, "If": [0, 2, 3, 5], "plugin": [0, 1, 3, 4, 5], "version": [0, 2, 5], "up": [0, 2], "name": [0, 1, 2, 4, 5], "after": [0, 2, 3], "would": [0, 2, 4], "done": 0, "error": [0, 2, 4], "logger": [0, 1, 2, 4], "There": 0, "wa": [0, 2], "troubl": 0, "document": [0, 2, 5], "detail": [0, 1, 2, 3, 4], "them": [0, 1, 2, 5], "direct": 0, "you": [0, 2], "directli": [0, 1], "via": [0, 1, 2, 5], "like": [0, 2, 5], "tk_multi_publish2": [0, 1, 2, 5], "publish_logg": [0, 1], "none": [0, 1, 2, 5], "sourc": [0, 1, 2, 5], "initi": 0, "paramet": [0, 1, 2, 5], "standard": [0, 1, 4], "python": [0, 1, 3, 5], "dure": [0, 1, 2, 3], "A": [0, 1, 2, 4, 5], "default": [0, 1, 2, 3, 4], "provid": [0, 1, 2, 3, 5], "suppli": [0, 1, 2, 4, 5], "when": [0, 1, 2, 3, 4, 5], "implement": [0, 1, 2, 3, 5], "exampl": [0, 1, 2, 4, 5], "special": [0, 1, 4], "log": [0, 1, 2, 3], "handler": [0, 1, 4], "case": [0, 1], "file_path": [0, 4], "logic": [0, 2, 5], "popul": [0, 2], "tree": [0, 2], "path": [0, 1, 2, 4, 5], "hook": [0, 1, 3, 4, 5], "current": [0, 2, 3, 5], "accordingli": 0, "mark": 0, "persist": 0, "return": [0, 1, 2, 5], "session": [0, 2, 3], "reestablish": 0, "state": [0, 2], "recomput": 0, "everyth": 0, "ani": [0, 1, 2, 4, 5], "ad": [0, 2], "other": [0, 2, 3], "retain": 0, "load": [0, 2], "serial": 0, "save": [0, 2, 5], "disk": [0, 2], "conveni": [0, 5], "replac": [0, 5], "deseri": 0, "content": 0, "store": [0, 2], "task_gener": 0, "fail": [0, 2, 4], "everi": 0, "one": [0, 2, 3, 5], "second": [0, 3], "member": 0, "tupl": [0, 5], "By": 0, "iter": [0, 2], "over": [0, 2, 3, 4], "activ": 0, "To": [0, 2], "differ": 0, "wai": [0, 3], "order": [0, 3, 5], "criteria": 0, "yield": 0, "For": [0, 2, 3], "without": [0, 5], "worri": 0, "about": [0, 2], "def": [0, 2], "all_tasks_gener": 0, "publish_tre": [0, 2], "publish_manag": 0, "gener": [0, 2, 3, 5], "option": [0, 2, 4], "local_publish": 0, "flag": 0, "set": [0, 1, 2, 3], "properti": [0, 1, 2], "dictionari": [0, 1, 2, 4], "could": [0, 2], "do": [0, 2], "follow": [0, 2, 3, 4], "local_tasks_gener": 0, "abort": 0, "back": 0, "caller": 0, "generate_report": 0, "report_tasks_gener": 0, "collected_fil": 0, "At": 0, "high": 0, "level": [0, 1, 2], "root": [0, 2], "1": [0, 2, 5], "shotgun": [0, 2, 5], "upload": 0, "media": 0, "2": 0, "3": [0, 2], "4": 0, "child": [0, 2], "re": 0, "rez": 0, "altern": 0, "transcod": 0, "compos": 0, "exclud": [0, 2], "make": [0, 2, 3, 4], "travers": [0, 2], "veri": 0, "easi": 0, "root_item": 0, "part": [0, 3], "phase": [0, 3], "hous": [0, 2], "global": 0, "itself": [0, 2, 4], "top": [0, 1, 2], "parent": [0, 1, 2], "inform": [0, 2, 4, 5], "within": [0, 2, 5], "post_fin": [0, 2], "postphasehook": [0, 2], "someth": [0, 2, 4], "your": [0, 1, 2], "self": [0, 1, 2, 4], "rememb": 0, "later": [0, 2], "is_root": 0, "setdefault": 0, "process_lat": 0, "append": [0, 2], "my_publish_fil": 0, "were": [0, 2], "also": [0, 2, 3], "save_fil": 0, "load_fil": 0, "static": 0, "read": 0, "_sgtk_custom_typ": 0, "str": [0, 2, 4, 5], "clear": 0, "clear_persist": 0, "fals": [0, 2, 4, 5], "bool": [0, 2], "true": [0, 2, 4, 5], "includ": [0, 2, 3, 5], "non": 0, "onli": [0, 2], "pformat": 0, "human": 0, "readabl": 0, "string": [0, 2, 5], "represent": 0, "debug": [0, 4], "print": 0, "pprint": 0, "shell": 0, "remove_item": 0, "remov": [0, 5], "persistent_item": 0, "type_spec": 0, "type_displai": [0, 2], "repres": [0, 2, 3, 5], "what": [0, 2, 3, 4, 5], "being": [0, 2, 3], "node": 0, "should": [0, 2, 3], "instead": 0, "create_item": [0, 2], "wish": [0, 2], "under": [0, 2], "displai": [0, 2, 3, 4, 5], "type": [0, 2, 3, 4, 5], "specif": [0, 2, 3, 5], "factori": [0, 1], "typic": [0, 1, 2, 4, 5], "studio": [0, 3, 5], "convent": [0, 5], "valu": [0, 2, 4], "identifi": [0, 2, 3, 5], "act": 0, "upon": 0, "basic": [0, 5], "integr": [0, 5], "hierarch": 0, "dot": 0, "notat": 0, "imag": [0, 2, 4, 5], "sequenc": [0, 5], "movi": 0, "maya": [0, 2, 3, 4], "ship": 0, "classifi": 0, "exist": 0, "video": 0, "classif": 0, "determin": [0, 2, 5], "mimetyp": 0, "base": [0, 1, 2], "In": [0, 2, 3], "addit": [0, 2, 3, 4], "dcc": [0, 2], "must": 0, "export": [0, 2], "prior": [0, 2], "form": [0, 2, 4, 5], "subtyp": 0, "geometri": [0, 4], "These": [0, 3, 4, 5], "mere": 0, "alter": 0, "meet": 0, "requir": [0, 2, 4], "It": [0, 2], "recommend": 0, "look": [0, 2], "toolkit": [0, 1, 2], "support": [0, 2, 4], "argument": [0, 2], "correspond": [0, 2], "purpos": 0, "scene": [0, 2], "nuke": [0, 3], "houdini": [0, 3], "combin": 0, "both": 0, "user": [0, 2, 3, 4], "term": [0, 3], "equival": 0, "get_properti": 0, "default_valu": 0, "retriev": [0, 5], "local_properti": [0, 2], "otherwis": [0, 2], "get_thumbnail_as_path": [0, 2], "thumbnail": [0, 5], "origin": 0, "screen": [0, 3], "grab": [0, 3], "qtgui": [0, 2, 5], "qpixmap": [0, 5], "temp": 0, "its": [0, 2], "mai": [0, 2, 3], "present": [0, 2, 3], "child_item": 0, "set_icon_from_path": 0, "icon": [0, 2], "given": [0, 2, 5], "convert": 0, "small": 0, "confus": 0, "result": 0, "set_thumbnail_from_path": 0, "explicitli": 0, "share": [0, 2, 3], "check": [0, 2], "interchang": 0, "depend": 0, "boolean": [0, 2], "indic": [0, 2, 3, 5], "pleas": 0, "note": [0, 2], "affect": 0, "interact": [0, 2], "plai": 0, "out": [0, 5], "practic": 0, "accept": [0, 2], "uncheck": [0, 2], "regardless": 0, "sub": 0, "children": [0, 2], "immedi": 0, "descend": 0, "inherit": 0, "had": 0, "launch": [0, 1, 3], "context_change_allow": 0, "enabl": [0, 2], "disabl": [0, 2], "chang": [0, 2, 3], "descript": [0, 2, 3], "whether": [0, 2], "expand": 0, "shown": [0, 2, 3, 4], "squar": 0, "visual": 0, "local": [0, 4], "publishplugin": [0, 1, 2], "As": [0, 2], "expect": 0, "attempt": [0, 2, 5], "outsid": [0, 3], "attributeerror": 0, "behav": 0, "storag": 0, "thread": 0, "modul": [0, 1, 5], "import": [0, 4], "consid": [0, 2], "between": [0, 2, 3], "appli": 0, "similar": 0, "common": [0, 4], "scenario": [0, 2], "multipl": [0, 2], "want": [0, 2, 3], "publish_nam": [0, 2], "publish_vers": [0, 2], "while": 0, "remain": 0, "sinc": [0, 2], "output": [0, 2, 4], "potenti": [0, 5], "first": [0, 3, 5], "avail": [0, 1, 2, 3, 5], "attach": [0, 2], "gorilla": 0, "0003": 0, "subclass": [0, 1, 2], "publish_templ": 0, "asset_fbx_templ": 0, "publish_typ": 0, "fbx": 0, "anoth": [0, 2], "asset_abc_templ": 0, "alemb": 0, "cach": 0, "plan": 0, "issu": [0, 2], "add": 0, "complex": 0, "serializ": 0, "object": [0, 2], "stick": 0, "json": 0, "arbitrari": 0, "t": [0, 1, 2, 5], "assign": 0, "across": 0, "screenshot": 0, "thumbnail_en": 0, "visibl": [0, 2], "edit": [0, 2], "captur": 0, "specifi": [0, 2], "appear": [0, 4, 5], "thumbnail_explicit": 0, "summari": 0, "ignor": [0, 2, 5], "allow": [0, 1, 2, 3], "system": [0, 4], "wherebi": 0, "ptr": 0, "perform": [0, 3], "action": [0, 2, 3], "deprec": 0, "display_typ": 0, "wrap": 0, "dict": [0, 2, 4], "kei": [0, 2], "kwarg": 0, "mutablemap": 0, "simpl": [0, 2], "syntax": 0, "well": [0, 2], "intern": 0, "modifi": [0, 2, 3, 5], "data_typ": 0, "deriv": 0, "few": 0, "those": [0, 2, 3], "config": [0, 2], "etc": [0, 2, 3, 5], "manual": [0, 2], "string_valu": 0, "multipublish2": [1, 3], "applic": 1, "construct": 1, "variou": 1, "start_engin": 1, "connect": 1, "app_nam": 1, "short": 1, "e": [1, 2, 4], "g": [1, 2], "nukepublish": 1, "base_hook": [1, 2], "publish": [1, 4, 5], "collectorplugin": [1, 2], "won": 1, "write": [1, 5], "inject": [1, 5], "automat": [1, 3, 5], "handl": [1, 2, 3], "util": [1, 2, 3], "call": [1, 2], "path_compon": 1, "get_file_path_compon": [1, 3, 5], "path_info": [1, 5], "publishmanag": [1, 3], "doc": [1, 2, 3], "autom": 1, "section": [2, 3], "entri": 2, "point": 2, "broad": 2, "overview": 2, "work": [2, 4, 5], "drag": [2, 3], "drop": [2, 3], "onto": [2, 3], "onc": [2, 3], "take": [2, 3, 4], "gather": 2, "individu": 2, "browser": [2, 4], "id": [2, 4], "uniqu": 2, "process_current_sess": 2, "process_fil": 2, "number": [2, 5], "setting_nam": 2, "compris": 2, "pair": 2, "templat": [2, 5], "obj1": 2, "obj2": 2, "obj3": 2, "collector_set": 2, "my_work_templ": 2, "obj4": 2, "folder": [2, 3, 5], "parent_item": 2, "analyz": 2, "open": [2, 3], "photoshop": 2, "area": 2, "publishitem": [2, 3], "howev": 2, "flat": 2, "playblast": 2, "pluginset": [2, 3], "cmd": 2, "queri": 2, "sn": 2, "session_item": 2, "o": 2, "basenam": 2, "prep": 2, "_collect_geometri": 2, "text": [2, 4], "involv": 2, "befor": [2, 3], "sure": 2, "normal": 2, "trail": 2, "separ": 2, "appropri": [2, 4], "doubl": 2, "shotgunpath": 2, "file_item": 2, "item_typ": 2, "match": [2, 3], "With": 2, "v2": 2, "0": 2, "higher": 2, "respons": 2, "left": [2, 3], "side": 2, "driven": [2, 5], "bundl": 2, "referenc": 2, "rel": 2, "locat": [2, 5], "disk_loc": 2, "join": 2, "png": 2, "help": [2, 5], "think": 2, "artist": [2, 3], "understand": 2, "distinct": 2, "verbos": 2, "line": [2, 4], "doe": 2, "html": [2, 4], "format": [2, 4, 5], "tag": [2, 4], "qt": [2, 4], "rich": [2, 4], "create_settings_widget": 2, "b": 2, "abl": 2, "href": 2, "loader": 2, "so": 2, "long": 2, "loader_url": 2, "resolut": 2, "1920x1080": 2, "publish_plugin": 2, "export_and_publish": 2, "py": 2, "export_templ": 2, "2048x1556": 2, "manipul": 2, "runtim": 2, "set_ui_set": 2, "get_ui_set": 2, "item_filt": 2, "wildcard": 2, "interest": 2, "compar": [2, 3], "possibl": [2, 3], "quickli": 2, "sophist": 2, "defer": 2, "glob": 2, "patter": 2, "filter": [2, 3], "Not": 2, "hidden": 2, "decid": [2, 3], "meta": 2, "too": 2, "big": 2, "size_in_byt": 2, "stat": 2, "st_stize": 2, "math": 2, "pow": 2, "10": 2, "9": 2, "gb": 2, "warn": [2, 4], "ok": 2, "readi": 2, "disallow": 2, "messag": [2, 4], "tooltip": [2, 4], "view": [2, 4], "pass": [2, 3], "stop": 2, "renam": 2, "forc": 2, "info": [2, 3], "get_version_numb": [2, 3, 5], "get_publish_nam": [2, 3, 5], "regist": 2, "pack": 2, "sg_publish_data": 2, "register_publish": 2, "comment": 2, "version_numb": 2, "thumbnail_path": 2, "published_file_typ": 2, "dependency_path": 2, "_maya_get_session_depend": 2, "cleanup": 2, "report": 2, "next": [2, 4, 5], "next_version_path": 2, "get_next_version_path": [2, 3, 5], "widget": [2, 4], "right": 2, "select": 2, "qwidget": 2, "invok": 2, "previous": 2, "repopul": 2, "updat": [2, 3], "don": 2, "necessarili": 2, "subset": 2, "setting_a": 2, "field": 2, "seeting_a": 2, "setting_b": 2, "ones": 2, "environ": 2, "own": [2, 5], "copi": 2, "time": [2, 3, 4], "notimplementederror": 2, "than": [2, 4], "receiv": 2, "publishtre": [2, 3], "full": [2, 3, 4, 5], "control": [2, 3], "further": [2, 3], "curat": 2, "post_valid": 2, "inspect": [2, 3, 5], "machin": 2, "glean": 2, "particular": 2, "introspect": 2, "failur": 2, "success": 2, "might": [2, 4], "validation_fail": 2, "validation_error": 2, "Then": 2, "all_error": 2, "easili": 2, "loop": 2, "extend": 2, "post_publish": 2, "highli": 3, "customiz": 3, "tool": [3, 5], "behavior": 3, "sever": 3, "awar": 3, "graphic": 3, "outlin": 3, "concept": 3, "just": 3, "start": 3, "link": 3, "examin": 3, "similarli": 3, "taken": 3, "deeper": 3, "dive": 3, "trigger": 3, "chanc": 3, "two": 3, "happen": 3, "target": 3, "brows": 3, "step": 3, "abov": 3, "describ": 3, "post": 3, "publishtask": 3, "publishdata": 3, "url": 3, "get_version_path": [3, 5], "get_frame_sequence_path": [3, 5], "get_frame_sequ": [3, 5], "get_thumbnail": [3, 5], "progress": 4, "extra": 4, "button": 4, "callback": 4, "click": 4, "action_button": 4, "label": 4, "arg": 4, "mous": 4, "callabl": 4, "keyword": 4, "quick": 4, "auto": [4, 5], "bad": 4, "_geometry_fix": 4, "vert": 4, "reveal": 4, "correctli": 4, "enclos": 4, "action_show_fold": 4, "entiti": 4, "page": 4, "action_show_in_shotgun": 4, "publishedfil": 4, "1234": 4, "fit": 4, "singl": 4, "popup": 4, "dialog": 4, "action_show_more_info": 4, "test": 4, "window": 4, "traceback": 4, "stack": 4, "trace": 4, "pre": 4, "format_exc": 4, "render": 4, "submit": 4, "coffe": 4, "action_open_url": 4, "find": [4, 5], "http": 4, "www": 4, "googl": 4, "com": 4, "search": 4, "q": 4, "best": 4, "me": 4, "aren": 5, "infer": 5, "frame": 5, "identif": 5, "most": 5, "live": 5, "overrid": 5, "account": 5, "utilti": 5, "detect": 5, "insert": 5, "compon": 5, "component": 5, "my_fil": 5, "v001": 5, "ext": 5, "filenam": 5, "extens": 5, "frame_spec": 5, "04d": 5, "f": 5, "input": 5, "spec": 5, "pad": 5, "found": 5, "exr": 5, "jpg": 5, "key_light1": 5, "frame_1_path": 5, "frame_2_path": 5, "fill_light1": 5, "keep": 5, "consist": 5, "subsequ": 5, "treat": 5, "placehold": 5, "extract": 5, "know": 5, "integ": 5, "softwar": 5, "discov": 5}, "objects": {"app": [[1, 0, 1, "", "MultiPublish2"]], "app.MultiPublish2": [[1, 1, 1, "", "base_hooks"], [1, 2, 1, "", "create_publish_manager"], [1, 1, 1, "", "util"]], "tk_multi_publish2.api": [[0, 0, 1, "", "PluginSetting"], [0, 0, 1, "", "PublishData"], [0, 0, 1, "", "PublishItem"], [0, 0, 1, "", "PublishManager"], [0, 0, 1, "", "PublishTask"], [0, 0, 1, "", "PublishTree"]], "tk_multi_publish2.api.PluginSetting": [[0, 1, 1, "", "string_value"]], "tk_multi_publish2.api.PublishItem": [[0, 1, 1, "", "active"], [0, 1, 1, "", "checked"], [0, 1, 1, "", "children"], [0, 1, 1, "", "context"], [0, 1, 1, "", "context_change_allowed"], [0, 2, 1, "", "create_item"], [0, 1, 1, "", "descendants"], [0, 1, 1, "", "description"], [0, 1, 1, "", "display_type"], [0, 1, 1, "", "enabled"], [0, 1, 1, "", "expanded"], [0, 2, 1, "", "get_property"], [0, 2, 1, "", "get_thumbnail_as_path"], [0, 1, 1, "", "icon"], [0, 1, 1, "", "is_root"], [0, 1, 1, "", "local_properties"], [0, 1, 1, "", "name"], [0, 1, 1, "", "parent"], [0, 1, 1, "", "persistent"], [0, 1, 1, "", "properties"], [0, 2, 1, "", "remove_item"], [0, 2, 1, "", "set_icon_from_path"], [0, 2, 1, "", "set_thumbnail_from_path"], [0, 1, 1, "", "tasks"], [0, 1, 1, "", "thumbnail"], [0, 1, 1, "", "thumbnail_enabled"], [0, 1, 1, "", "thumbnail_explicit"], [0, 1, 1, "", "type"], [0, 1, 1, "", "type_display"], [0, 1, 1, "", "type_spec"]], "tk_multi_publish2.api.PublishManager": [[0, 2, 1, "", "collect_files"], [0, 2, 1, "", "collect_session"], [0, 1, 1, "", "collected_files"], [0, 1, 1, "", "context"], [0, 2, 1, "", "finalize"], [0, 2, 1, "", "load"], [0, 1, 1, "", "logger"], [0, 2, 1, "", "publish"], [0, 2, 1, "", "save"], [0, 1, 1, "", "tree"], [0, 2, 1, "", "validate"]], "tk_multi_publish2.api.PublishTask": [[0, 1, 1, "", "active"], [0, 1, 1, "", "checked"], [0, 1, 1, "", "description"], [0, 1, 1, "", "enabled"], [0, 1, 1, "", "item"], [0, 1, 1, "", "name"], [0, 1, 1, "", "settings"], [0, 1, 1, "", "visible"]], "tk_multi_publish2.api.PublishTree": [[0, 2, 1, "", "clear"], [0, 2, 1, "", "load_file"], [0, 1, 1, "", "persistent_items"], [0, 2, 1, "", "pformat"], [0, 2, 1, "", "pprint"], [0, 2, 1, "", "remove_item"], [0, 1, 1, "", "root_item"], [0, 2, 1, "", "save_file"]], "tk_multi_publish2.base_hooks": [[2, 0, 1, "", "CollectorPlugin"], [2, 0, 1, "", "PostPhaseHook"], [2, 0, 1, "", "PublishPlugin"]], "tk_multi_publish2.base_hooks.CollectorPlugin": [[2, 1, 1, "", "id"], [2, 2, 1, "", "process_current_session"], [2, 2, 1, "", "process_file"], [2, 1, 1, "", "settings"]], "tk_multi_publish2.base_hooks.PostPhaseHook": [[2, 2, 1, "", "post_finalize"], [2, 2, 1, "", "post_publish"], [2, 2, 1, "", "post_validate"]], "tk_multi_publish2.base_hooks.PublishPlugin": [[2, 2, 1, "", "accept"], [2, 2, 1, "", "create_settings_widget"], [2, 1, 1, "", "description"], [2, 2, 1, "", "finalize"], [2, 2, 1, "", "get_ui_settings"], [2, 1, 1, "", "icon"], [2, 1, 1, "", "id"], [2, 1, 1, "", "item_filters"], [2, 1, 1, "", "name"], [2, 2, 1, "", "publish"], [2, 2, 1, "", "set_ui_settings"], [2, 1, 1, "", "settings"], [2, 2, 1, "", "validate"]], "tk_multi_publish2": [[5, 3, 0, "-", "util"]], "tk_multi_publish2.util": [[5, 4, 1, "", "get_file_path_components"], [5, 4, 1, "", "get_frame_sequence_path"], [5, 4, 1, "", "get_frame_sequences"], [5, 4, 1, "", "get_next_version_path"], [5, 4, 1, "", "get_publish_name"], [5, 4, 1, "", "get_thumbnail"], [5, 4, 1, "", "get_version_number"], [5, 4, 1, "", "get_version_path"]]}, "objtypes": {"0": "py:class", "1": "py:property", "2": "py:method", "3": "py:module", "4": "py:function"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "property", "Python property"], "2": ["py", "method", "Python method"], "3": ["py", "module", "Python module"], "4": ["py", "function", "Python function"]}, "titleterms": {"publish": [0, 2, 3], "api": [0, 2, 3], "publishmanag": 0, "publishtre": 0, "publishitem": 0, "publishtask": 0, "publishdata": 0, "pluginset": 0, "app": 1, "interfac": 1, "custom": 2, "collector": 2, "hook": 2, "plugin": 2, "post": 2, "phase": 2, "flow": [3, 4], "product": [3, 4], "track": [3, 4], "refer": 3, "v2": 3, "8": 3, "4": 3, "overview": 3, "execut": 3, "collect": 3, "accept": 3, "item": 3, "review": 3, "log": 4, "gener": 4, "action": 4, "show": 4, "folder": 4, "more": 4, "info": 4, "open": 4, "url": 4, "util": 5}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"Publish API": [[0, "publish-api"]], "PublishManager": [[0, "publishmanager"]], "PublishTree": [[0, "publishtree"]], "PublishItem": [[0, "publishitem"]], "PublishTask": [[0, "publishtask"]], "PublishData": [[0, "publishdata"]], "PluginSetting": [[0, "pluginsetting"]], "App Interface": [[1, "app-interface"]], "Publish Customization": [[2, "publish-customization"]], "Collector Hook": [[2, "collector-hook"]], "Collector Hook API": [[2, "collector-hook-api"]], "Publish Plugin": [[2, "publish-plugin"]], "Publish Plugin API": [[2, "publish-plugin-api"]], "Post Phase Hook": [[2, "post-phase-hook"]], "Flow Production Tracking Publisher API reference, v2.8.4": [[3, "flow-production-tracking-publisher-api-reference-release"]], "Overview": [[3, "overview"]], "Publish Execution": [[3, "publish-execution"]], "Collection & Acceptance": [[3, "collection-acceptance"]], "Item Review": [[3, "item-review"]], "Publishing": [[3, "publishing"]], "Logging": [[4, "logging"]], "Generic Action": [[4, "generic-action"]], "Show Folder Action": [[4, "show-folder-action"]], "Show in Flow Production Tracking Action": [[4, "show-in-flow-production-tracking-action"]], "Show More Info Action": [[4, "show-more-info-action"]], "Open URL Action": [[4, "open-url-action"]], "Utilities": [[5, "utilities"]]}, "indexentries": {"pluginsetting (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PluginSetting"]], "publishdata (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishData"]], "publishitem (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishItem"]], "publishmanager (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishManager"]], "publishtask (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishTask"]], "publishtree (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishTree"]], "active (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.active"]], "active (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.active"]], "checked (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.checked"]], "checked (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.checked"]], "children (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.children"]], "clear() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.clear"]], "collect_files() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.collect_files"]], "collect_session() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.collect_session"]], "collected_files (tk_multi_publish2.api.publishmanager property)": [[0, "tk_multi_publish2.api.PublishManager.collected_files"]], "context (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.context"]], "context (tk_multi_publish2.api.publishmanager property)": [[0, "tk_multi_publish2.api.PublishManager.context"]], "context_change_allowed (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.context_change_allowed"]], "create_item() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.create_item"]], "descendants (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.descendants"]], "description (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.description"]], "description (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.description"]], "display_type (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.display_type"]], "enabled (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.enabled"]], "enabled (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.enabled"]], "expanded (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.expanded"]], "finalize() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.finalize"]], "get_property() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.get_property"]], "get_thumbnail_as_path() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.get_thumbnail_as_path"]], "icon (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.icon"]], "is_root (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.is_root"]], "item (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.item"]], "load() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.load"]], "load_file() (tk_multi_publish2.api.publishtree static method)": [[0, "tk_multi_publish2.api.PublishTree.load_file"]], "local_properties (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.local_properties"]], "logger (tk_multi_publish2.api.publishmanager property)": [[0, "tk_multi_publish2.api.PublishManager.logger"]], "name (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.name"]], "name (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.name"]], "parent (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.parent"]], "persistent (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.persistent"]], "persistent_items (tk_multi_publish2.api.publishtree property)": [[0, "tk_multi_publish2.api.PublishTree.persistent_items"]], "pformat() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.pformat"]], "pprint() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.pprint"]], "properties (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.properties"]], "publish() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.publish"]], "remove_item() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.remove_item"]], "remove_item() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.remove_item"]], "root_item (tk_multi_publish2.api.publishtree property)": [[0, "tk_multi_publish2.api.PublishTree.root_item"]], "save() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.save"]], "save_file() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.save_file"]], "set_icon_from_path() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.set_icon_from_path"]], "set_thumbnail_from_path() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.set_thumbnail_from_path"]], "settings (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.settings"]], "string_value (tk_multi_publish2.api.pluginsetting property)": [[0, "tk_multi_publish2.api.PluginSetting.string_value"]], "tasks (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.tasks"]], "thumbnail (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.thumbnail"]], "thumbnail_enabled (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.thumbnail_enabled"]], "thumbnail_explicit (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.thumbnail_explicit"]], "tree (tk_multi_publish2.api.publishmanager property)": [[0, "tk_multi_publish2.api.PublishManager.tree"]], "type (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.type"]], "type_display (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.type_display"]], "type_spec (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.type_spec"]], "validate() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.validate"]], "visible (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.visible"]], "multipublish2 (class in app)": [[1, "app.MultiPublish2"]], "base_hooks (app.multipublish2 property)": [[1, "app.MultiPublish2.base_hooks"]], "create_publish_manager() (app.multipublish2 method)": [[1, "app.MultiPublish2.create_publish_manager"]], "util (app.multipublish2 property)": [[1, "app.MultiPublish2.util"]], "collectorplugin (class in tk_multi_publish2.base_hooks)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin"]], "postphasehook (class in tk_multi_publish2.base_hooks)": [[2, "tk_multi_publish2.base_hooks.PostPhaseHook"]], "publishplugin (class in tk_multi_publish2.base_hooks)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin"]], "accept() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.accept"]], "create_settings_widget() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.create_settings_widget"]], "description (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.description"]], "finalize() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.finalize"]], "get_ui_settings() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.get_ui_settings"]], "icon (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.icon"]], "id (tk_multi_publish2.base_hooks.collectorplugin property)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin.id"]], "id (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.id"]], "item_filters (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.item_filters"]], "name (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.name"]], "post_finalize() (tk_multi_publish2.base_hooks.postphasehook method)": [[2, "tk_multi_publish2.base_hooks.PostPhaseHook.post_finalize"]], "post_publish() (tk_multi_publish2.base_hooks.postphasehook method)": [[2, "tk_multi_publish2.base_hooks.PostPhaseHook.post_publish"]], "post_validate() (tk_multi_publish2.base_hooks.postphasehook method)": [[2, "tk_multi_publish2.base_hooks.PostPhaseHook.post_validate"]], "process_current_session() (tk_multi_publish2.base_hooks.collectorplugin method)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin.process_current_session"]], "process_file() (tk_multi_publish2.base_hooks.collectorplugin method)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin.process_file"]], "publish() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.publish"]], "set_ui_settings() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.set_ui_settings"]], "settings (tk_multi_publish2.base_hooks.collectorplugin property)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin.settings"]], "settings (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.settings"]], "validate() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.validate"]], "get_file_path_components() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_file_path_components"]], "get_frame_sequence_path() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_frame_sequence_path"]], "get_frame_sequences() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_frame_sequences"]], "get_next_version_path() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_next_version_path"]], "get_publish_name() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_publish_name"]], "get_thumbnail() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_thumbnail"]], "get_version_number() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_version_number"]], "get_version_path() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_version_path"]], "module": [[5, "module-tk_multi_publish2.util"]], "tk_multi_publish2.util": [[5, "module-tk_multi_publish2.util"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api", "application", "customizing", "index", "logging", "utility"], "filenames": ["api.rst", "application.rst", "customizing.rst", "index.rst", "logging.rst", "utility.rst"], "titles": ["Publish API", "App Interface", "Publish Customization", "Flow Production Tracking Publisher API reference, v2.9.0", "Logging", "Utilities"], "terms": {"The": [0, 1, 2, 3, 4, 5], "give": [0, 2], "develop": [0, 3], "access": [0, 1, 2], "underli": [0, 3], "data": [0, 2, 3], "structur": [0, 5], "method": [0, 1, 2, 4, 5], "us": [0, 1, 2, 3, 4, 5], "ui": [0, 1, 2, 3, 4], "thei": [0, 1, 2, 3], "can": [0, 1, 2, 3, 4, 5], "thi": [0, 1, 2, 3, 4, 5], "interfac": [0, 2, 3], "build": [0, 3], "more": [0, 2, 3], "advanc": [0, 3], "custom": [0, 1, 3], "workflow": [0, 1, 2, 3], "primari": 0, "i": [0, 1, 2, 3, 4, 5], "class": [0, 1, 2], "which": [0, 2, 3], "expos": [0, 1, 2, 3, 5], "same": [0, 2], "collect": [0, 2], "valid": [0, 2, 3, 4], "final": [0, 2, 3], "drive": [0, 2, 3], "manag": [0, 2], "contain": [0, 2, 4, 5], "refer": [0, 2], "instanc": [0, 1, 2], "oper": [0, 2, 3], "hierarchi": [0, 1, 2], "thing": [0, 2], "each": [0, 2, 3, 5], "have": [0, 2, 3], "associ": [0, 2, 5], "defin": [0, 1, 2, 3], "how": [0, 1, 2, 3, 4], "item": [0, 2, 5], "ar": [0, 1, 2, 3, 4, 5], "process": [0, 1, 2, 3, 5], "code": [0, 1], "below": [0, 2, 3, 4, 5], "show": [0, 2, 3], "execut": [0, 2, 4], "complet": [0, 2, 3], "need": [0, 1, 2, 3, 5], "an": [0, 2, 3, 4, 5], "engin": [0, 1, 2, 4, 5], "run": [0, 1, 2, 3], "context": [0, 2, 3, 5], "where": [0, 2, 5], "ha": [0, 2, 3, 4], "been": [0, 2], "configur": [0, 1, 2, 3], "sgtk": [0, 1, 2], "platform": [0, 1], "current_engin": 0, "get": [0, 1, 2, 3], "app": [0, 2, 3, 5], "from": [0, 2, 4, 5], "": [0, 1, 2, 3, 4, 5], "list": [0, 2, 3, 5], "publish_app": 0, "tk": [0, 1, 2], "multi": [0, 2], "publish2": [0, 1, 2], "ensur": [0, 2], "we": [0, 2], "rais": [0, 2, 4], "except": [0, 2, 4], "creat": [0, 1, 3, 4], "new": [0, 2], "create_publish_manag": [0, 1], "now": [0, 2], "collector": [0, 1, 3, 4], "collect_sess": 0, "some": [0, 1, 2, 5], "extern": 0, "file": [0, 2, 3, 4, 5], "collect_fil": 0, "path1": 0, "path2": 0, "path3": 0, "tasks_failed_valid": 0, "oop": 0, "task": [0, 2, 3], "invalid": 0, "see": [0, 1, 2, 3], "fix": [0, 4], "fix_invalid_task": 0, "try": [0, 4], "again": [0, 2], "here": [0, 2, 4], "bail": 0, "all": [0, 2, 3], "good": 0, "let": 0, "If": [0, 2, 3, 5], "plugin": [0, 1, 3, 4, 5], "version": [0, 2, 5], "up": [0, 2], "name": [0, 1, 2, 4, 5], "after": [0, 2, 3], "would": [0, 2, 4], "done": 0, "error": [0, 2, 4], "logger": [0, 1, 2, 4], "There": 0, "wa": [0, 2], "troubl": 0, "document": [0, 2, 5], "detail": [0, 1, 2, 3, 4], "them": [0, 1, 2, 5], "direct": 0, "you": [0, 2], "directli": [0, 1], "via": [0, 1, 2, 5], "like": [0, 2, 5], "tk_multi_publish2": [0, 1, 2, 5], "publish_logg": [0, 1], "none": [0, 1, 2, 5], "sourc": [0, 1, 2, 5], "initi": 0, "paramet": [0, 1, 2, 5], "standard": [0, 1, 4], "python": [0, 1, 3, 5], "dure": [0, 1, 2, 3], "A": [0, 1, 2, 4, 5], "default": [0, 1, 2, 3, 4], "provid": [0, 1, 2, 3, 5], "suppli": [0, 1, 2, 4, 5], "when": [0, 1, 2, 3, 4, 5], "implement": [0, 1, 2, 3, 5], "exampl": [0, 1, 2, 4, 5], "special": [0, 1, 4], "log": [0, 1, 2, 3], "handler": [0, 1, 4], "case": [0, 1, 2], "file_path": [0, 4], "logic": [0, 2, 5], "popul": [0, 2], "tree": [0, 2], "path": [0, 1, 2, 4, 5], "hook": [0, 1, 3, 4, 5], "current": [0, 2, 3, 5], "accordingli": 0, "mark": 0, "persist": 0, "return": [0, 1, 2, 5], "session": [0, 2, 3], "reestablish": 0, "state": [0, 2], "recomput": 0, "everyth": 0, "ani": [0, 1, 2, 4, 5], "ad": [0, 2], "other": [0, 2, 3], "retain": 0, "load": [0, 2], "serial": 0, "save": [0, 2, 5], "disk": [0, 2], "conveni": [0, 5], "replac": [0, 5], "deseri": 0, "content": [0, 2], "store": [0, 2], "task_gener": 0, "fail": [0, 2, 4], "everi": 0, "one": [0, 2, 3, 5], "second": [0, 3], "member": 0, "tupl": [0, 5], "By": 0, "iter": [0, 2], "over": [0, 2, 3, 4], "activ": 0, "To": [0, 2], "differ": 0, "wai": [0, 3], "order": [0, 2, 3, 5], "criteria": 0, "yield": 0, "For": [0, 2, 3], "without": [0, 5], "worri": 0, "about": [0, 2], "def": [0, 2], "all_tasks_gener": 0, "publish_tre": [0, 2], "publish_manag": 0, "gener": [0, 2, 3, 5], "option": [0, 2, 4], "local_publish": 0, "flag": 0, "set": [0, 1, 2, 3], "properti": [0, 1, 2], "dictionari": [0, 1, 2, 4], "could": [0, 2], "do": [0, 2], "follow": [0, 2, 3, 4], "local_tasks_gener": 0, "abort": 0, "back": 0, "caller": 0, "generate_report": 0, "report_tasks_gener": 0, "collected_fil": 0, "At": 0, "high": 0, "level": [0, 1, 2], "root": [0, 2], "1": [0, 2, 5], "shotgun": [0, 2, 5], "upload": [0, 2], "media": 0, "2": [0, 2], "3": [0, 2], "4": 0, "child": [0, 2], "re": 0, "rez": 0, "altern": 0, "transcod": [0, 2], "compos": 0, "exclud": [0, 2], "make": [0, 2, 3, 4], "travers": [0, 2], "veri": 0, "easi": 0, "root_item": 0, "part": [0, 2, 3], "phase": [0, 3], "hous": [0, 2], "global": 0, "itself": [0, 2, 4], "top": [0, 1, 2], "parent": [0, 1, 2], "inform": [0, 2, 4, 5], "within": [0, 2, 5], "post_fin": [0, 2], "postphasehook": [0, 2], "someth": [0, 2, 4], "your": [0, 1, 2], "self": [0, 1, 2, 4], "rememb": 0, "later": [0, 2], "is_root": 0, "setdefault": 0, "process_lat": 0, "append": [0, 2], "my_publish_fil": 0, "were": [0, 2], "also": [0, 2, 3], "save_fil": 0, "load_fil": 0, "static": 0, "read": 0, "_sgtk_custom_typ": 0, "str": [0, 2, 4, 5], "clear": 0, "clear_persist": 0, "fals": [0, 2, 4, 5], "bool": [0, 2], "true": [0, 2, 4, 5], "includ": [0, 2, 3, 5], "non": 0, "onli": [0, 2], "pformat": 0, "human": 0, "readabl": 0, "string": [0, 2, 5], "represent": 0, "debug": [0, 4], "print": 0, "pprint": 0, "shell": 0, "remove_item": 0, "remov": [0, 5], "persistent_item": 0, "type_spec": 0, "type_displai": [0, 2], "repres": [0, 2, 3, 5], "what": [0, 2, 3, 4, 5], "being": [0, 2, 3], "node": 0, "should": [0, 2, 3], "instead": 0, "create_item": [0, 2], "wish": [0, 2], "under": [0, 2], "displai": [0, 2, 3, 4, 5], "type": [0, 2, 3, 4, 5], "specif": [0, 2, 3, 5], "factori": [0, 1], "typic": [0, 1, 2, 4, 5], "studio": [0, 3, 5], "convent": [0, 5], "valu": [0, 2, 4], "identifi": [0, 2, 3, 5], "act": 0, "upon": 0, "basic": [0, 2, 5], "integr": [0, 5], "hierarch": 0, "dot": 0, "notat": 0, "imag": [0, 2, 4, 5], "sequenc": [0, 5], "movi": 0, "maya": [0, 2, 3, 4], "ship": 0, "classifi": 0, "exist": 0, "video": [0, 2], "classif": 0, "determin": [0, 2, 5], "mimetyp": 0, "base": [0, 1, 2], "In": [0, 2, 3], "addit": [0, 2, 3, 4], "dcc": [0, 2], "must": [0, 2], "export": [0, 2], "prior": [0, 2], "form": [0, 2, 4, 5], "subtyp": 0, "geometri": [0, 4], "These": [0, 3, 4, 5], "mere": 0, "alter": 0, "meet": 0, "requir": [0, 2, 4], "It": [0, 2], "recommend": 0, "look": [0, 2], "toolkit": [0, 1, 2], "support": [0, 2, 4], "argument": [0, 2], "correspond": [0, 2], "purpos": 0, "scene": [0, 2], "nuke": [0, 3], "houdini": [0, 3], "combin": 0, "both": 0, "user": [0, 2, 3, 4], "term": [0, 3], "equival": 0, "get_properti": [0, 2], "default_valu": [0, 2], "retriev": [0, 5], "local_properti": [0, 2], "otherwis": [0, 2], "get_thumbnail_as_path": [0, 2], "thumbnail": [0, 5], "origin": 0, "screen": [0, 3], "grab": [0, 3], "qtgui": [0, 2, 5], "qpixmap": [0, 5], "temp": 0, "its": [0, 2], "mai": [0, 2, 3], "present": [0, 2, 3], "child_item": 0, "set_icon_from_path": 0, "icon": [0, 2], "given": [0, 2, 5], "convert": 0, "small": 0, "confus": 0, "result": 0, "set_thumbnail_from_path": 0, "explicitli": 0, "share": [0, 2, 3], "check": [0, 2], "interchang": 0, "depend": 0, "boolean": [0, 2], "indic": [0, 2, 3, 5], "pleas": 0, "note": [0, 2], "affect": 0, "interact": [0, 2], "plai": 0, "out": [0, 2, 5], "practic": 0, "accept": [0, 2], "uncheck": [0, 2], "regardless": 0, "sub": 0, "children": [0, 2], "immedi": 0, "descend": 0, "inherit": 0, "had": 0, "launch": [0, 1, 3], "context_change_allow": 0, "enabl": [0, 2], "disabl": [0, 2], "chang": [0, 2, 3], "descript": [0, 2, 3], "whether": [0, 2], "expand": 0, "shown": [0, 2, 3, 4], "squar": 0, "visual": 0, "local": [0, 2, 4], "publishplugin": [0, 1, 2], "As": [0, 2], "expect": [0, 2], "attempt": [0, 2, 5], "outsid": [0, 3], "attributeerror": 0, "behav": 0, "storag": 0, "thread": 0, "modul": [0, 1, 5], "import": [0, 2, 4], "consid": [0, 2], "between": [0, 2, 3], "appli": 0, "similar": 0, "common": [0, 4], "scenario": [0, 2], "multipl": [0, 2], "want": [0, 2, 3], "publish_nam": [0, 2], "publish_vers": [0, 2], "while": 0, "remain": 0, "sinc": [0, 2], "output": [0, 2, 4], "potenti": [0, 5], "first": [0, 3, 5], "avail": [0, 1, 2, 3, 5], "attach": [0, 2], "gorilla": 0, "0003": 0, "subclass": [0, 1, 2], "publish_templ": 0, "asset_fbx_templ": 0, "publish_typ": 0, "fbx": 0, "anoth": [0, 2], "asset_abc_templ": 0, "alemb": 0, "cach": 0, "plan": 0, "issu": [0, 2], "add": [0, 2], "complex": 0, "serializ": 0, "object": [0, 2], "stick": 0, "json": 0, "arbitrari": 0, "t": [0, 1, 2, 5], "assign": 0, "across": 0, "screenshot": 0, "thumbnail_en": 0, "visibl": [0, 2], "edit": [0, 2], "captur": 0, "specifi": [0, 2], "appear": [0, 4, 5], "thumbnail_explicit": 0, "summari": 0, "ignor": [0, 2, 5], "allow": [0, 1, 2, 3], "system": [0, 4], "wherebi": 0, "ptr": 0, "perform": [0, 3], "action": [0, 2, 3], "deprec": 0, "display_typ": 0, "wrap": 0, "dict": [0, 2, 4], "kei": [0, 2], "kwarg": 0, "mutablemap": 0, "simpl": [0, 2], "syntax": 0, "well": [0, 2], "intern": 0, "modifi": [0, 2, 3, 5], "data_typ": 0, "deriv": 0, "few": 0, "those": [0, 2, 3], "config": [0, 2], "etc": [0, 2, 3, 5], "manual": [0, 2], "string_valu": 0, "multipublish2": [1, 3], "applic": 1, "construct": 1, "variou": 1, "start_engin": 1, "connect": 1, "app_nam": 1, "short": 1, "e": [1, 2, 4], "g": [1, 2], "nukepublish": 1, "base_hook": [1, 2], "publish": [1, 4, 5], "collectorplugin": [1, 2], "won": 1, "write": [1, 5], "inject": [1, 5], "automat": [1, 3, 5], "handl": [1, 2, 3], "util": [1, 2, 3], "call": [1, 2], "path_compon": 1, "get_file_path_compon": [1, 3, 5], "path_info": [1, 5], "publishmanag": [1, 3], "doc": [1, 2, 3], "autom": 1, "section": [2, 3], "entri": 2, "point": 2, "broad": 2, "overview": 2, "work": [2, 4, 5], "drag": [2, 3], "drop": [2, 3], "onto": [2, 3], "onc": [2, 3], "take": [2, 3, 4], "gather": 2, "individu": 2, "browser": [2, 4], "id": [2, 4], "uniqu": 2, "process_current_sess": 2, "process_fil": 2, "number": [2, 5], "setting_nam": 2, "compris": 2, "pair": 2, "templat": [2, 5], "obj1": 2, "obj2": 2, "obj3": 2, "collector_set": 2, "my_work_templ": 2, "obj4": 2, "folder": [2, 3, 5], "parent_item": 2, "analyz": 2, "open": [2, 3], "photoshop": 2, "area": 2, "publishitem": [2, 3], "howev": 2, "flat": 2, "playblast": 2, "pluginset": [2, 3], "cmd": 2, "queri": 2, "sn": 2, "session_item": 2, "o": 2, "basenam": 2, "prep": 2, "_collect_geometri": 2, "text": [2, 4], "involv": 2, "befor": [2, 3], "sure": 2, "normal": 2, "trail": 2, "separ": 2, "appropri": [2, 4], "doubl": 2, "shotgunpath": 2, "file_item": 2, "item_typ": 2, "match": [2, 3], "With": 2, "v2": 2, "0": 2, "higher": 2, "help": [2, 5], "technic": 2, "guid": 2, "through": 2, "flow": 2, "product": 2, "track": 2, "focu": 2, "less": 2, "doe": 2, "extens": [2, 5], "knowledg": 2, "test": [2, 4], "know": [2, 5], "interest": 2, "publih": 2, "still": 2, "begin": 2, "copi": 2, "off": 2, "default2": 2, "our": 2, "env": 2, "yml": 2, "asset_step": 2, "publish_plugin": 2, "asset": 2, "py": 2, "maya_asset_work": 2, "publish_fil": 2, "review": 2, "upload_vers": 2, "start_version_control": 2, "publish_sess": 2, "maya_asset_publish": 2, "publish_session_geometri": 2, "asset_alembic_cach": 2, "upload_version_playblast": 2, "help_url": 2, "locat": [2, 5], "token": 2, "resolv": 2, "so": 2, "implementaiton": 2, "hookbaseclass": 2, "get_hook_baseclass": 2, "mayauploadversionplayblastplugin": 2, "send": 2, "verbos": 2, "line": [2, 4], "html": [2, 4], "format": [2, 4, 5], "br": 2, "b": 2, "link": [2, 3], "reciev": 2, "settings_typ": 2, "One": 2, "environ": 2, "referenc": 2, "item_filt": 2, "glob": 2, "patter": 2, "filter": [2, 3], "hidden": 2, "param": 2, "ok": 2, "miss": 2, "uploadversionplugin": 2, "consum": 2, "sg_publish_data": 2, "super": 2, "break": 2, "down": 2, "select": 2, "receiv": 2, "pass": [2, 3], "extend": 2, "respons": 2, "left": [2, 3], "side": 2, "driven": [2, 5], "bundl": 2, "rel": 2, "disk_loc": 2, "join": 2, "png": 2, "think": 2, "artist": [2, 3], "understand": 2, "distinct": 2, "tag": [2, 4], "qt": [2, 4], "rich": [2, 4], "create_settings_widget": 2, "abl": 2, "href": 2, "loader": 2, "long": 2, "loader_url": 2, "resolut": 2, "1920x1080": 2, "export_and_publish": 2, "export_templ": 2, "2048x1556": 2, "manipul": 2, "runtim": 2, "set_ui_set": 2, "get_ui_set": 2, "wildcard": 2, "compar": [2, 3], "possibl": [2, 3], "quickli": 2, "sophist": 2, "defer": 2, "Not": 2, "decid": [2, 3], "meta": 2, "too": 2, "big": 2, "size_in_byt": 2, "stat": 2, "st_stize": 2, "math": 2, "pow": 2, "10": 2, "9": 2, "gb": 2, "warn": [2, 4], "readi": 2, "disallow": 2, "messag": [2, 4], "tooltip": [2, 4], "view": [2, 4], "stop": 2, "renam": 2, "forc": 2, "info": [2, 3], "get_version_numb": [2, 3, 5], "get_publish_nam": [2, 3, 5], "regist": 2, "pack": 2, "register_publish": 2, "comment": 2, "version_numb": 2, "thumbnail_path": 2, "published_file_typ": 2, "dependency_path": 2, "_maya_get_session_depend": 2, "cleanup": 2, "report": 2, "next": [2, 4, 5], "next_version_path": 2, "get_next_version_path": [2, 3, 5], "widget": [2, 4], "right": 2, "qwidget": 2, "invok": 2, "previous": 2, "repopul": 2, "updat": [2, 3], "don": 2, "necessarili": 2, "subset": 2, "setting_a": 2, "field": 2, "seeting_a": 2, "setting_b": 2, "ones": 2, "own": [2, 5], "time": [2, 3, 4], "notimplementederror": 2, "than": [2, 4], "publishtre": [2, 3], "full": [2, 3, 4, 5], "control": [2, 3], "further": [2, 3], "curat": 2, "post_valid": 2, "inspect": [2, 3, 5], "machin": 2, "glean": 2, "particular": 2, "introspect": 2, "failur": 2, "success": 2, "might": [2, 4], "validation_fail": 2, "validation_error": 2, "Then": 2, "all_error": 2, "easili": 2, "loop": 2, "post_publish": 2, "highli": 3, "customiz": 3, "tool": [3, 5], "behavior": 3, "sever": 3, "awar": 3, "graphic": 3, "outlin": 3, "concept": 3, "just": 3, "start": 3, "examin": 3, "similarli": 3, "taken": 3, "deeper": 3, "dive": 3, "trigger": 3, "chanc": 3, "two": 3, "happen": 3, "target": 3, "brows": 3, "step": 3, "abov": 3, "describ": 3, "post": 3, "publishtask": 3, "publishdata": 3, "url": 3, "get_version_path": [3, 5], "get_frame_sequence_path": [3, 5], "get_frame_sequ": [3, 5], "get_thumbnail": [3, 5], "progress": 4, "extra": 4, "button": 4, "callback": 4, "click": 4, "action_button": 4, "label": 4, "arg": 4, "mous": 4, "callabl": 4, "keyword": 4, "quick": 4, "auto": [4, 5], "bad": 4, "_geometry_fix": 4, "vert": 4, "reveal": 4, "correctli": 4, "enclos": 4, "action_show_fold": 4, "entiti": 4, "page": 4, "action_show_in_shotgun": 4, "publishedfil": 4, "1234": 4, "fit": 4, "singl": 4, "popup": 4, "dialog": 4, "action_show_more_info": 4, "window": 4, "traceback": 4, "stack": 4, "trace": 4, "pre": 4, "format_exc": 4, "render": 4, "submit": 4, "coffe": 4, "action_open_url": 4, "find": [4, 5], "http": 4, "www": 4, "googl": 4, "com": 4, "search": 4, "q": 4, "best": 4, "me": 4, "aren": 5, "infer": 5, "frame": 5, "identif": 5, "most": 5, "live": 5, "overrid": 5, "account": 5, "utilti": 5, "detect": 5, "insert": 5, "compon": 5, "component": 5, "my_fil": 5, "v001": 5, "ext": 5, "filenam": 5, "frame_spec": 5, "04d": 5, "f": 5, "input": 5, "spec": 5, "pad": 5, "found": 5, "exr": 5, "jpg": 5, "key_light1": 5, "frame_1_path": 5, "frame_2_path": 5, "fill_light1": 5, "keep": 5, "consist": 5, "subsequ": 5, "treat": 5, "placehold": 5, "extract": 5, "integ": 5, "softwar": 5, "discov": 5}, "objects": {"app": [[1, 0, 1, "", "MultiPublish2"]], "app.MultiPublish2": [[1, 1, 1, "", "base_hooks"], [1, 2, 1, "", "create_publish_manager"], [1, 1, 1, "", "util"]], "tk_multi_publish2.api": [[0, 0, 1, "", "PluginSetting"], [0, 0, 1, "", "PublishData"], [0, 0, 1, "", "PublishItem"], [0, 0, 1, "", "PublishManager"], [0, 0, 1, "", "PublishTask"], [0, 0, 1, "", "PublishTree"]], "tk_multi_publish2.api.PluginSetting": [[0, 1, 1, "", "string_value"]], "tk_multi_publish2.api.PublishItem": [[0, 1, 1, "", "active"], [0, 1, 1, "", "checked"], [0, 1, 1, "", "children"], [0, 1, 1, "", "context"], [0, 1, 1, "", "context_change_allowed"], [0, 2, 1, "", "create_item"], [0, 1, 1, "", "descendants"], [0, 1, 1, "", "description"], [0, 1, 1, "", "display_type"], [0, 1, 1, "", "enabled"], [0, 1, 1, "", "expanded"], [0, 2, 1, "", "get_property"], [0, 2, 1, "", "get_thumbnail_as_path"], [0, 1, 1, "", "icon"], [0, 1, 1, "", "is_root"], [0, 1, 1, "", "local_properties"], [0, 1, 1, "", "name"], [0, 1, 1, "", "parent"], [0, 1, 1, "", "persistent"], [0, 1, 1, "", "properties"], [0, 2, 1, "", "remove_item"], [0, 2, 1, "", "set_icon_from_path"], [0, 2, 1, "", "set_thumbnail_from_path"], [0, 1, 1, "", "tasks"], [0, 1, 1, "", "thumbnail"], [0, 1, 1, "", "thumbnail_enabled"], [0, 1, 1, "", "thumbnail_explicit"], [0, 1, 1, "", "type"], [0, 1, 1, "", "type_display"], [0, 1, 1, "", "type_spec"]], "tk_multi_publish2.api.PublishManager": [[0, 2, 1, "", "collect_files"], [0, 2, 1, "", "collect_session"], [0, 1, 1, "", "collected_files"], [0, 1, 1, "", "context"], [0, 2, 1, "", "finalize"], [0, 2, 1, "", "load"], [0, 1, 1, "", "logger"], [0, 2, 1, "", "publish"], [0, 2, 1, "", "save"], [0, 1, 1, "", "tree"], [0, 2, 1, "", "validate"]], "tk_multi_publish2.api.PublishTask": [[0, 1, 1, "", "active"], [0, 1, 1, "", "checked"], [0, 1, 1, "", "description"], [0, 1, 1, "", "enabled"], [0, 1, 1, "", "item"], [0, 1, 1, "", "name"], [0, 1, 1, "", "settings"], [0, 1, 1, "", "visible"]], "tk_multi_publish2.api.PublishTree": [[0, 2, 1, "", "clear"], [0, 2, 1, "", "load_file"], [0, 1, 1, "", "persistent_items"], [0, 2, 1, "", "pformat"], [0, 2, 1, "", "pprint"], [0, 2, 1, "", "remove_item"], [0, 1, 1, "", "root_item"], [0, 2, 1, "", "save_file"]], "tk_multi_publish2.base_hooks": [[2, 0, 1, "", "CollectorPlugin"], [2, 0, 1, "", "PostPhaseHook"], [2, 0, 1, "", "PublishPlugin"]], "tk_multi_publish2.base_hooks.CollectorPlugin": [[2, 1, 1, "", "id"], [2, 2, 1, "", "process_current_session"], [2, 2, 1, "", "process_file"], [2, 1, 1, "", "settings"]], "tk_multi_publish2.base_hooks.PostPhaseHook": [[2, 2, 1, "", "post_finalize"], [2, 2, 1, "", "post_publish"], [2, 2, 1, "", "post_validate"]], "tk_multi_publish2.base_hooks.PublishPlugin": [[2, 2, 1, "", "accept"], [2, 2, 1, "", "create_settings_widget"], [2, 1, 1, "", "description"], [2, 2, 1, "", "finalize"], [2, 2, 1, "", "get_ui_settings"], [2, 1, 1, "", "icon"], [2, 1, 1, "", "id"], [2, 1, 1, "", "item_filters"], [2, 1, 1, "", "name"], [2, 2, 1, "", "publish"], [2, 2, 1, "", "set_ui_settings"], [2, 1, 1, "", "settings"], [2, 2, 1, "", "validate"]], "tk_multi_publish2": [[5, 3, 0, "-", "util"]], "tk_multi_publish2.util": [[5, 4, 1, "", "get_file_path_components"], [5, 4, 1, "", "get_frame_sequence_path"], [5, 4, 1, "", "get_frame_sequences"], [5, 4, 1, "", "get_next_version_path"], [5, 4, 1, "", "get_publish_name"], [5, 4, 1, "", "get_thumbnail"], [5, 4, 1, "", "get_version_number"], [5, 4, 1, "", "get_version_path"]]}, "objtypes": {"0": "py:class", "1": "py:property", "2": "py:method", "3": "py:module", "4": "py:function"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "property", "Python property"], "2": ["py", "method", "Python method"], "3": ["py", "module", "Python module"], "4": ["py", "function", "Python function"]}, "titleterms": {"publish": [0, 2, 3], "api": [0, 2, 3], "publishmanag": 0, "publishtre": 0, "publishitem": 0, "publishtask": 0, "publishdata": 0, "pluginset": 0, "app": 1, "interfac": 1, "custom": 2, "collector": 2, "hook": 2, "plugin": 2, "step": 2, "tutori": 2, "creat": 2, "post": 2, "phase": 2, "flow": [3, 4], "product": [3, 4], "track": [3, 4], "refer": 3, "v2": 3, "9": 3, "0": 3, "overview": 3, "execut": 3, "collect": 3, "accept": 3, "item": 3, "review": 3, "log": 4, "gener": 4, "action": 4, "show": 4, "folder": 4, "more": 4, "info": 4, "open": 4, "url": 4, "util": 5}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"Publish API": [[0, "publish-api"]], "PublishManager": [[0, "publishmanager"]], "PublishTree": [[0, "publishtree"]], "PublishItem": [[0, "publishitem"]], "PublishTask": [[0, "publishtask"]], "PublishData": [[0, "publishdata"]], "PluginSetting": [[0, "pluginsetting"]], "App Interface": [[1, "app-interface"]], "Publish Customization": [[2, "publish-customization"]], "Collector Hook": [[2, "collector-hook"]], "Collector Hook API": [[2, "collector-hook-api"]], "Publish Plugin": [[2, "publish-plugin"]], "Step-by-Step Tutorials": [[2, "step-by-step-tutorials"]], "Create a Publish Plugin": [[2, "create-a-publish-plugin"]], "Publish Plugin API": [[2, "publish-plugin-api"]], "Post Phase Hook": [[2, "post-phase-hook"]], "Flow Production Tracking Publisher API reference, v2.9.0": [[3, "flow-production-tracking-publisher-api-reference-release"]], "Overview": [[3, "overview"]], "Publish Execution": [[3, "publish-execution"]], "Collection & Acceptance": [[3, "collection-acceptance"]], "Item Review": [[3, "item-review"]], "Publishing": [[3, "publishing"]], "Logging": [[4, "logging"]], "Generic Action": [[4, "generic-action"]], "Show Folder Action": [[4, "show-folder-action"]], "Show in Flow Production Tracking Action": [[4, "show-in-flow-production-tracking-action"]], "Show More Info Action": [[4, "show-more-info-action"]], "Open URL Action": [[4, "open-url-action"]], "Utilities": [[5, "utilities"]]}, "indexentries": {"pluginsetting (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PluginSetting"]], "publishdata (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishData"]], "publishitem (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishItem"]], "publishmanager (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishManager"]], "publishtask (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishTask"]], "publishtree (class in tk_multi_publish2.api)": [[0, "tk_multi_publish2.api.PublishTree"]], "active (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.active"]], "active (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.active"]], "checked (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.checked"]], "checked (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.checked"]], "children (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.children"]], "clear() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.clear"]], "collect_files() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.collect_files"]], "collect_session() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.collect_session"]], "collected_files (tk_multi_publish2.api.publishmanager property)": [[0, "tk_multi_publish2.api.PublishManager.collected_files"]], "context (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.context"]], "context (tk_multi_publish2.api.publishmanager property)": [[0, "tk_multi_publish2.api.PublishManager.context"]], "context_change_allowed (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.context_change_allowed"]], "create_item() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.create_item"]], "descendants (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.descendants"]], "description (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.description"]], "description (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.description"]], "display_type (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.display_type"]], "enabled (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.enabled"]], "enabled (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.enabled"]], "expanded (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.expanded"]], "finalize() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.finalize"]], "get_property() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.get_property"]], "get_thumbnail_as_path() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.get_thumbnail_as_path"]], "icon (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.icon"]], "is_root (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.is_root"]], "item (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.item"]], "load() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.load"]], "load_file() (tk_multi_publish2.api.publishtree static method)": [[0, "tk_multi_publish2.api.PublishTree.load_file"]], "local_properties (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.local_properties"]], "logger (tk_multi_publish2.api.publishmanager property)": [[0, "tk_multi_publish2.api.PublishManager.logger"]], "name (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.name"]], "name (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.name"]], "parent (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.parent"]], "persistent (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.persistent"]], "persistent_items (tk_multi_publish2.api.publishtree property)": [[0, "tk_multi_publish2.api.PublishTree.persistent_items"]], "pformat() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.pformat"]], "pprint() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.pprint"]], "properties (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.properties"]], "publish() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.publish"]], "remove_item() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.remove_item"]], "remove_item() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.remove_item"]], "root_item (tk_multi_publish2.api.publishtree property)": [[0, "tk_multi_publish2.api.PublishTree.root_item"]], "save() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.save"]], "save_file() (tk_multi_publish2.api.publishtree method)": [[0, "tk_multi_publish2.api.PublishTree.save_file"]], "set_icon_from_path() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.set_icon_from_path"]], "set_thumbnail_from_path() (tk_multi_publish2.api.publishitem method)": [[0, "tk_multi_publish2.api.PublishItem.set_thumbnail_from_path"]], "settings (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.settings"]], "string_value (tk_multi_publish2.api.pluginsetting property)": [[0, "tk_multi_publish2.api.PluginSetting.string_value"]], "tasks (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.tasks"]], "thumbnail (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.thumbnail"]], "thumbnail_enabled (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.thumbnail_enabled"]], "thumbnail_explicit (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.thumbnail_explicit"]], "tree (tk_multi_publish2.api.publishmanager property)": [[0, "tk_multi_publish2.api.PublishManager.tree"]], "type (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.type"]], "type_display (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.type_display"]], "type_spec (tk_multi_publish2.api.publishitem property)": [[0, "tk_multi_publish2.api.PublishItem.type_spec"]], "validate() (tk_multi_publish2.api.publishmanager method)": [[0, "tk_multi_publish2.api.PublishManager.validate"]], "visible (tk_multi_publish2.api.publishtask property)": [[0, "tk_multi_publish2.api.PublishTask.visible"]], "multipublish2 (class in app)": [[1, "app.MultiPublish2"]], "base_hooks (app.multipublish2 property)": [[1, "app.MultiPublish2.base_hooks"]], "create_publish_manager() (app.multipublish2 method)": [[1, "app.MultiPublish2.create_publish_manager"]], "util (app.multipublish2 property)": [[1, "app.MultiPublish2.util"]], "collectorplugin (class in tk_multi_publish2.base_hooks)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin"]], "postphasehook (class in tk_multi_publish2.base_hooks)": [[2, "tk_multi_publish2.base_hooks.PostPhaseHook"]], "publishplugin (class in tk_multi_publish2.base_hooks)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin"]], "accept() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.accept"]], "create_settings_widget() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.create_settings_widget"]], "description (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.description"]], "finalize() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.finalize"]], "get_ui_settings() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.get_ui_settings"]], "icon (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.icon"]], "id (tk_multi_publish2.base_hooks.collectorplugin property)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin.id"]], "id (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.id"]], "item_filters (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.item_filters"]], "name (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.name"]], "post_finalize() (tk_multi_publish2.base_hooks.postphasehook method)": [[2, "tk_multi_publish2.base_hooks.PostPhaseHook.post_finalize"]], "post_publish() (tk_multi_publish2.base_hooks.postphasehook method)": [[2, "tk_multi_publish2.base_hooks.PostPhaseHook.post_publish"]], "post_validate() (tk_multi_publish2.base_hooks.postphasehook method)": [[2, "tk_multi_publish2.base_hooks.PostPhaseHook.post_validate"]], "process_current_session() (tk_multi_publish2.base_hooks.collectorplugin method)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin.process_current_session"]], "process_file() (tk_multi_publish2.base_hooks.collectorplugin method)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin.process_file"]], "publish() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.publish"]], "set_ui_settings() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.set_ui_settings"]], "settings (tk_multi_publish2.base_hooks.collectorplugin property)": [[2, "tk_multi_publish2.base_hooks.CollectorPlugin.settings"]], "settings (tk_multi_publish2.base_hooks.publishplugin property)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.settings"]], "validate() (tk_multi_publish2.base_hooks.publishplugin method)": [[2, "tk_multi_publish2.base_hooks.PublishPlugin.validate"]], "get_file_path_components() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_file_path_components"]], "get_frame_sequence_path() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_frame_sequence_path"]], "get_frame_sequences() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_frame_sequences"]], "get_next_version_path() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_next_version_path"]], "get_publish_name() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_publish_name"]], "get_thumbnail() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_thumbnail"]], "get_version_number() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_version_number"]], "get_version_path() (in module tk_multi_publish2.util)": [[5, "tk_multi_publish2.util.get_version_path"]], "module": [[5, "module-tk_multi_publish2.util"]], "tk_multi_publish2.util": [[5, "module-tk_multi_publish2.util"]]}}) \ No newline at end of file diff --git a/utility.html b/utility.html index 25146320..244eaf25 100644 --- a/utility.html +++ b/utility.html @@ -6,7 +6,7 @@ - Utilities — tk-multi-publish2 v2.8.4 documentation + Utilities — tk-multi-publish2 v2.9.0 documentation @@ -95,7 +95,7 @@ text-decoration: underline; } - tk-multi-publish2 v2.8.4.
      + tk-multi-publish2 v2.9.0.
      This documentation is part of the Flow Production Tracking.