Skip to content

Commit

Permalink
Merge pull request #727 from ynput/bugfix/AY-5937_Maya-Issue-with-UDI…
Browse files Browse the repository at this point in the history
…M-Textures-in-Yeti-Rig-Publish
  • Loading branch information
iLLiCiTiT committed Jul 2, 2024
1 parent c3136ab commit c4963be
Showing 1 changed file with 26 additions and 13 deletions.
39 changes: 26 additions & 13 deletions client/ayon_maya/plugins/publish/collect_yeti_rig.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import os
import re
import clique

import pyblish.api
from ayon_core.pipeline.publish import KnownPublishError
Expand Down Expand Up @@ -271,22 +272,34 @@ def get_sequence(self, filepath, pattern="%04d"):
pattern (str): The pattern to swap with the variable frame number.
Returns:
list: file sequence.
Optional[list[str]]: file sequence.
"""
import clique

escaped = re.escape(filepath)
re_pattern = escaped.replace(pattern, "-?[0-9]+")

filename = os.path.basename(filepath)
re_pattern = re.escape(filename)
re_pattern = re_pattern.replace(re.escape(pattern), "-?[0-9]+")
source_dir = os.path.dirname(filepath)
files = [f for f in os.listdir(source_dir)
if re.match(re_pattern, f)]

pattern = [clique.PATTERNS["frames"]]
collection, remainder = clique.assemble(files, patterns=pattern)

return collection
files = [f for f in os.listdir(source_dir) if re.match(re_pattern, f)]
if not files:
# Files do not exist, this may not be a problem if e.g. the
# textures were relative paths and we're searching across
# multiple image search paths.
return

collections, _remainder = clique.assemble(
files,
patterns=[clique.PATTERNS["frames"]],
minimum_items=1)

if len(collections) > 1:
raise ValueError(
f"Multiple collections found for {collections}. "
"This is a bug.")

return [
os.path.join(source_dir, filename)
for filename in collections[0]
]

def _replace_tokens(self, strings):
env_re = re.compile(r"\$\{(\w+)\}")
Expand Down

0 comments on commit c4963be

Please sign in to comment.