mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 12:54:40 +01:00
Merge ae5eea56fe into 92d4da9efa
This commit is contained in:
commit
9d4b14df48
2 changed files with 30 additions and 3 deletions
29
client/ayon_core/plugins/publish/extract_color_transcode.py
Normal file → Executable file
29
client/ayon_core/plugins/publish/extract_color_transcode.py
Normal file → Executable file
|
|
@ -1,4 +1,5 @@
|
|||
import os
|
||||
import re
|
||||
import copy
|
||||
import clique
|
||||
import pyblish.api
|
||||
|
|
@ -101,7 +102,7 @@ class ExtractOIIOTranscode(publish.Extractor):
|
|||
|
||||
for idx, repre in enumerate(list(repres)):
|
||||
self.log.debug("repre ({}): `{}`".format(idx + 1, repre["name"]))
|
||||
if not self._repre_is_valid(repre):
|
||||
if not self._repre_is_valid(repre, profile):
|
||||
continue
|
||||
|
||||
added_representations = False
|
||||
|
|
@ -279,6 +280,12 @@ class ExtractOIIOTranscode(publish.Extractor):
|
|||
if "delete" in tags and "thumbnail" not in tags:
|
||||
instance.data["representations"].remove(repre)
|
||||
|
||||
if (
|
||||
added_review
|
||||
and "review" not in instance.data["families"]
|
||||
):
|
||||
instance.data["families"].append("review")
|
||||
|
||||
instance.data["representations"].extend(new_representations)
|
||||
|
||||
def _rename_in_representation(self, new_repre, files_to_convert,
|
||||
|
|
@ -376,7 +383,7 @@ class ExtractOIIOTranscode(publish.Extractor):
|
|||
|
||||
return profile
|
||||
|
||||
def _repre_is_valid(self, repre):
|
||||
def _repre_is_valid(self, repre, profile):
|
||||
"""Validation if representation should be processed.
|
||||
|
||||
Args:
|
||||
|
|
@ -403,7 +410,23 @@ class ExtractOIIOTranscode(publish.Extractor):
|
|||
"Skipped.".format(repre["name"]))
|
||||
return False
|
||||
|
||||
return True
|
||||
representations = profile["representations"]
|
||||
repre_name = repre["name"]
|
||||
|
||||
# make sure if not representations than it will return True
|
||||
result = [True]
|
||||
|
||||
# check if any of representation patterns match in repre_name
|
||||
if representations:
|
||||
result = []
|
||||
for r_pattern in representations:
|
||||
if re.match(r_pattern, repre_name):
|
||||
result.append(True)
|
||||
break
|
||||
else:
|
||||
result.append(False)
|
||||
|
||||
return any(result)
|
||||
|
||||
def _mark_original_repre_for_deletion(self, repre, profile, added_review):
|
||||
"""If new transcoded representation created, delete old."""
|
||||
|
|
|
|||
|
|
@ -605,6 +605,10 @@ class ExtractOIIOTranscodeProfileModel(BaseSettingsModel):
|
|||
default_factory=list,
|
||||
title="Product names"
|
||||
)
|
||||
representations: list[str] = SettingsField(
|
||||
default_factory=list,
|
||||
title="Representation names"
|
||||
)
|
||||
delete_original: bool = SettingsField(
|
||||
True,
|
||||
title="Delete Original Representation",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue