Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Nuke: Add aov matching even for remainder and prerender #3060

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 15 additions & 12 deletions openpype/lib/profiles_filtering.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,6 @@ def _profile_exclusion(matching_profiles, logger):
Returns:
dict: Most matching profile.
"""

logger.info(
"Search for first most matching profile in match order:"
" Host name -> Task name -> Family."
)

if not matching_profiles:
return None

Expand Down Expand Up @@ -168,6 +162,15 @@ def filter_profiles(profiles_data, key_values, keys_order=None, logger=None):
_keys_order.append(key)
keys_order = tuple(_keys_order)

log_parts = " | ".join([
"{}: \"{}\"".format(*item)
for item in key_values.items()
])

logger.info(
"Looking for matching profile for: {}".format(log_parts)
)

matching_profiles = None
highest_profile_points = -1
# Each profile get 1 point for each matching filter. Profile with most
Expand Down Expand Up @@ -205,11 +208,6 @@ def filter_profiles(profiles_data, key_values, keys_order=None, logger=None):
if profile_points == highest_profile_points:
matching_profiles.append((profile, profile_scores))

log_parts = " | ".join([
"{}: \"{}\"".format(*item)
for item in key_values.items()
])

if not matching_profiles:
logger.info(
"None of profiles match your setup. {}".format(log_parts)
Expand All @@ -221,4 +219,9 @@ def filter_profiles(profiles_data, key_values, keys_order=None, logger=None):
"More than one profile match your setup. {}".format(log_parts)
)

return _profile_exclusion(matching_profiles, logger)
profile = _profile_exclusion(matching_profiles, logger)
if profile:
logger.info(
"Profile selected: {}".format(profile)
)
return profile
10 changes: 7 additions & 3 deletions openpype/modules/deadline/plugins/publish/submit_publish_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,7 @@ def _get_representations(self, instance, exp_files):

"""
representations = []
host_name = os.environ.get("AVALON_APP", "")
collections, remainders = clique.assemble(exp_files)

# create representation for every collected sequento ce
Expand All @@ -541,7 +542,6 @@ def _get_representations(self, instance, exp_files):
preview = True
else:
render_file_name = list(collection)[0]
host_name = os.environ.get("AVALON_APP", "")
# if filtered aov name is found in filename, toggle it for
# preview video rendering
preview = match_aov_pattern(
Expand Down Expand Up @@ -610,12 +610,16 @@ def _get_representations(self, instance, exp_files):
"files": os.path.basename(remainder),
"stagingDir": os.path.dirname(remainder),
}
if "render" in instance.get("families"):

preview = match_aov_pattern(
host_name, self.aov_filter, remainder
)
if preview:
rep.update({
"fps": instance.get("fps"),
"tags": ["review"]
})
self._solve_families(instance, True)
self._solve_families(instance, preview)

already_there = False
for repre in instance.get("representations", []):
Expand Down
10 changes: 10 additions & 0 deletions openpype/modules/ftrack/plugins/publish/collect_ftrack_family.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ def process(self, instance):
self.log.warning("No profiles present for adding Ftrack family")
return

add_ftrack_family = False
task_name = instance.data.get("task",
avalon.api.Session["AVALON_TASK"])
host_name = avalon.api.Session["AVALON_APP"]
Expand All @@ -53,6 +54,8 @@ def process(self, instance):

additional_filters = profile.get("advanced_filtering")
if additional_filters:
self.log.info("'{}' families used for additional filtering".
format(families))
add_ftrack_family = self._get_add_ftrack_f_from_addit_filters(
additional_filters,
families,
Expand All @@ -69,6 +72,13 @@ def process(self, instance):
else:
instance.data["families"] = ["ftrack"]

result_str = "Adding"
if not add_ftrack_family:
result_str = "Not adding"
self.log.info("{} 'ftrack' family for instance with '{}'".format(
result_str, family
))

def _get_add_ftrack_f_from_addit_filters(self,
additional_filters,
families,
Expand Down