mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
replaced 'format_template_with_optional_keys' with 'StringTemplate'
This commit is contained in:
parent
8e1ec6d251
commit
6eaf7017eb
6 changed files with 46 additions and 39 deletions
|
|
@ -3,9 +3,10 @@ import re
|
|||
import pyblish.api
|
||||
import json
|
||||
|
||||
from avalon.api import format_template_with_optional_keys
|
||||
|
||||
from openpype.lib import prepare_template_data
|
||||
from openpype.lib import (
|
||||
prepare_template_data,
|
||||
StringTemplate,
|
||||
)
|
||||
|
||||
|
||||
class CollectTextures(pyblish.api.ContextPlugin):
|
||||
|
|
@ -110,8 +111,9 @@ class CollectTextures(pyblish.api.ContextPlugin):
|
|||
|
||||
formatting_data.update(explicit_data)
|
||||
fill_pairs = prepare_template_data(formatting_data)
|
||||
workfile_subset = format_template_with_optional_keys(
|
||||
fill_pairs, self.workfile_subset_template)
|
||||
workfile_subset = StringTemplate.format_strict_template(
|
||||
self.workfile_subset_template, fill_pairs
|
||||
)
|
||||
|
||||
asset_build = self._get_asset_build(
|
||||
repre_file,
|
||||
|
|
@ -201,8 +203,9 @@ class CollectTextures(pyblish.api.ContextPlugin):
|
|||
formatting_data.update(explicit_data)
|
||||
|
||||
fill_pairs = prepare_template_data(formatting_data)
|
||||
subset = format_template_with_optional_keys(
|
||||
fill_pairs, self.texture_subset_template)
|
||||
subset = StringTemplate.format_strict_template(
|
||||
self.texture_subset_template, fill_pairs
|
||||
)
|
||||
|
||||
asset_build = self._get_asset_build(
|
||||
repre_file,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@ import os
|
|||
from avalon import api, io
|
||||
from openpype.lib import (
|
||||
get_workfile_template_key_from_context,
|
||||
get_workdir_data
|
||||
get_workdir_data,
|
||||
StringTemplate,
|
||||
)
|
||||
from openpype.api import Anatomy
|
||||
from openpype.hosts.tvpaint.api import lib, pipeline, plugin
|
||||
|
|
@ -69,7 +70,7 @@ class LoadWorkfile(plugin.Loader):
|
|||
data["root"] = anatomy.roots
|
||||
data["user"] = getpass.getuser()
|
||||
|
||||
template = anatomy.templates[template_key]["file"]
|
||||
file_template = anatomy.templates[template_key]["file"]
|
||||
|
||||
# Define saving file extension
|
||||
if current_file:
|
||||
|
|
@ -81,11 +82,12 @@ class LoadWorkfile(plugin.Loader):
|
|||
|
||||
data["ext"] = extension
|
||||
|
||||
work_root = api.format_template_with_optional_keys(
|
||||
data, anatomy.templates[template_key]["folder"]
|
||||
folder_template = anatomy.templates[template_key]["folder"]
|
||||
work_root = StringTemplate.format_strict_template(
|
||||
folder_template, data
|
||||
)
|
||||
version = api.last_workfile_with_version(
|
||||
work_root, template, data, host.file_extensions()
|
||||
work_root, file_template, data, host.file_extensions()
|
||||
)[1]
|
||||
|
||||
if version is None:
|
||||
|
|
@ -95,8 +97,8 @@ class LoadWorkfile(plugin.Loader):
|
|||
|
||||
data["version"] = version
|
||||
|
||||
path = os.path.join(
|
||||
work_root,
|
||||
api.format_template_with_optional_keys(data, template)
|
||||
filename = StringTemplate.format_strict_template(
|
||||
file_template, data
|
||||
)
|
||||
path = os.path.join(work_root, filename)
|
||||
host.save_file(path)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,11 @@ import glob
|
|||
import clique
|
||||
import collections
|
||||
|
||||
from .path_templates import (
|
||||
StringTemplate,
|
||||
TemplateUnsolved,
|
||||
)
|
||||
|
||||
|
||||
def collect_frames(files):
|
||||
"""
|
||||
|
|
@ -52,8 +57,6 @@ def sizeof_fmt(num, suffix='B'):
|
|||
|
||||
|
||||
def path_from_representation(representation, anatomy):
|
||||
from avalon import pipeline # safer importing
|
||||
|
||||
try:
|
||||
template = representation["data"]["template"]
|
||||
|
||||
|
|
@ -63,12 +66,10 @@ def path_from_representation(representation, anatomy):
|
|||
try:
|
||||
context = representation["context"]
|
||||
context["root"] = anatomy.roots
|
||||
path = pipeline.format_template_with_optional_keys(
|
||||
context, template
|
||||
)
|
||||
path = os.path.normpath(path.replace("/", "\\"))
|
||||
path = StringTemplate.format_strict_template(template, context)
|
||||
return os.path.normpath(path)
|
||||
|
||||
except KeyError:
|
||||
except TemplateUnsolved:
|
||||
# Template references unavailable data
|
||||
return None
|
||||
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ import uuid
|
|||
import clique
|
||||
from pymongo import UpdateOne
|
||||
|
||||
from openpype_modules.ftrack.lib import BaseAction, statics_icon
|
||||
from avalon.api import AvalonMongoDB
|
||||
from openpype.api import Anatomy
|
||||
|
||||
import avalon.pipeline
|
||||
from openpype.api import Anatomy
|
||||
from openpype.lib import StringTemplate, TemplateUnsolved
|
||||
from openpype_modules.ftrack.lib import BaseAction, statics_icon
|
||||
|
||||
|
||||
class DeleteOldVersions(BaseAction):
|
||||
|
|
@ -563,18 +563,16 @@ class DeleteOldVersions(BaseAction):
|
|||
try:
|
||||
context = representation["context"]
|
||||
context["root"] = anatomy.roots
|
||||
path = avalon.pipeline.format_template_with_optional_keys(
|
||||
context, template
|
||||
)
|
||||
path = StringTemplate.format_strict_template(template, context)
|
||||
if "frame" in context:
|
||||
context["frame"] = self.sequence_splitter
|
||||
sequence_path = os.path.normpath(
|
||||
avalon.pipeline.format_template_with_optional_keys(
|
||||
StringTemplate.format_strict_template(
|
||||
context, template
|
||||
)
|
||||
)
|
||||
|
||||
except KeyError:
|
||||
except (KeyError, TemplateUnsolved):
|
||||
# Template references unavailable data
|
||||
return (None, None)
|
||||
|
||||
|
|
|
|||
|
|
@ -525,7 +525,7 @@ def get_representation_path(representation, root=None, dbcon=None):
|
|||
|
||||
"""
|
||||
|
||||
from openpype.lib import StringTemplate
|
||||
from openpype.lib import StringTemplate, TemplateUnsolved
|
||||
|
||||
if dbcon is None:
|
||||
dbcon = io
|
||||
|
|
@ -542,13 +542,14 @@ def get_representation_path(representation, root=None, dbcon=None):
|
|||
try:
|
||||
context = representation["context"]
|
||||
context["root"] = root
|
||||
template_obj = StringTemplate(template)
|
||||
path = str(template_obj.format(context))
|
||||
path = StringTemplate.format_strict_template(
|
||||
template, context
|
||||
)
|
||||
# Force replacing backslashes with forward slashed if not on
|
||||
# windows
|
||||
if platform.system().lower() != "windows":
|
||||
path = path.replace("\\", "/")
|
||||
except KeyError:
|
||||
except (TemplateUnsolved, KeyError):
|
||||
# Template references unavailable data
|
||||
return None
|
||||
|
||||
|
|
|
|||
|
|
@ -12,14 +12,15 @@ import shutil
|
|||
from pymongo import DeleteOne, InsertOne
|
||||
import pyblish.api
|
||||
from avalon import io
|
||||
from avalon.api import format_template_with_optional_keys
|
||||
import openpype.api
|
||||
from datetime import datetime
|
||||
# from pype.modules import ModulesManager
|
||||
from openpype.lib.profiles_filtering import filter_profiles
|
||||
from openpype.lib import (
|
||||
prepare_template_data,
|
||||
create_hard_link
|
||||
create_hard_link,
|
||||
StringTemplate,
|
||||
TemplateUnsolved
|
||||
)
|
||||
|
||||
# this is needed until speedcopy for linux is fixed
|
||||
|
|
@ -854,9 +855,10 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin):
|
|||
fill_pairs = prepare_template_data(fill_pairs)
|
||||
|
||||
try:
|
||||
filled_template = \
|
||||
format_template_with_optional_keys(fill_pairs, template)
|
||||
except KeyError:
|
||||
filled_template = StringTemplate.format_strict_template(
|
||||
template, fill_pairs
|
||||
)
|
||||
except (KeyError, TemplateUnsolved):
|
||||
keys = []
|
||||
if fill_pairs:
|
||||
keys = fill_pairs.keys()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue