Merge pull request #2591 from pypeclub/feature/webpublish_skip_version_collect

Webpublisher: Skip version collect
This commit is contained in:
Petr Kalis 2022-01-31 10:48:38 +01:00 committed by GitHub
commit 2a8a444ec9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 55 additions and 0 deletions

View file

@ -11,6 +11,7 @@ class CollectSceneVersion(pyblish.api.ContextPlugin):
order = pyblish.api.CollectorOrder
label = 'Collect Scene Version'
# configurable in Settings
hosts = [
"aftereffects",
"blender",
@ -26,7 +27,19 @@ class CollectSceneVersion(pyblish.api.ContextPlugin):
"tvpaint"
]
# in some cases of headless publishing (for example webpublisher using PS)
# you want to ignore version from name and let integrate use next version
skip_hosts_headless_publish = []
def process(self, context):
# tests should be close to regular publish as possible
if (
os.environ.get("HEADLESS_PUBLISH")
and not os.environ.get("IS_TEST")
and context.data["hostName"] in self.skip_hosts_headless_publish):
self.log.debug("Skipping for headless publishing")
return
assert context.data.get('currentFile'), "Cannot get current file"
filename = os.path.basename(context.data.get('currentFile'))

View file

@ -3,6 +3,24 @@
"CollectAnatomyInstanceData": {
"follow_workfile_version": false
},
"CollectSceneVersion": {
"hosts": [
"aftereffects",
"blender",
"celaction",
"fusion",
"harmony",
"hiero",
"houdini",
"maya",
"nuke",
"photoshop",
"resolve",
"tvpaint"
],
"skip_hosts_headless_publish": [
]
},
"ValidateEditorialAssetName": {
"enabled": true,
"optional": false

View file

@ -18,6 +18,27 @@
}
]
},
{
"type": "dict",
"collapsible": true,
"key": "CollectSceneVersion",
"label": "Collect Version from Workfile",
"is_group": true,
"children": [
{
"key": "hosts",
"label": "Host names",
"type": "hosts-enum",
"multiselection": true
},
{
"key": "skip_hosts_headless_publish",
"label": "Skip for host if headless publish",
"type": "hosts-enum",
"multiselection": true
}
]
},
{
"type": "dict",
"collapsible": true,

View file

@ -5,6 +5,9 @@ Contains end-to-end tests for automatic testing of OP.
Should run headless publish on all hosts to check basic publish use cases automatically
to limit regression issues.
Uses env var `HEADLESS_PUBLISH` (set in test data zip files) to differentiate between regular publish
and "automated" one.
How to run
----------
- activate `{OPENPYPE_ROOT}/.venv`