本文整理汇总了Python中tank.template.TemplatePath类的典型用法代码示例。如果您正苦于以下问题:Python TemplatePath类的具体用法?Python TemplatePath怎么用?Python TemplatePath使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TemplatePath类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_multi_key_optional
def test_multi_key_optional(self):
"""
Test optional section containing multiple keys.
"""
definition = "shots/{Shot}[.{branch}.v{version}][.{snapshot}.ma]"
template_path = TemplatePath(definition, self.keys, self.project_root)
relative_path = os.path.join("shots",
"s1.mmm.v003.002.ma")
expected = os.path.join(self.project_root, relative_path)
fields = { "Shot": "s1",
"branch":"mmm",
"version": 3,
"snapshot": 2}
result = template_path.apply_fields(fields)
self.assertEquals(expected, result)
# if one key from optional section missing, whole section skipped.
relative_path = os.path.join("shots",
"s1.002.ma")
expected = os.path.join(self.project_root, relative_path)
fields = { "Shot": "s1",
"branch":"mmm",
"snapshot": 2}
result = template_path.apply_fields(fields)
self.assertEquals(expected, result)
示例2: test_one_key
def test_one_key(self):
definition = "{Shot}/boo.wtf"
template = TemplatePath(definition, self.keys, root_path=self.project_root)
relative_path = os.path.join("shot_1", "boo.wtf")
file_path = os.path.join(self.project_root, relative_path)
expected = {"Shot": "shot_1"}
result = template.get_fields(file_path)
self.assertEquals(result, expected)
示例3: test_skip_enum
def test_skip_enum(self):
expected = os.path.join(self.project_root, "*")
key = StringKey("Shot", choices=["s1", "s2"])
template = TemplatePath("{Shot}", {"Shot":key}, self.project_root)
fields = {"Shot":"*"}
skip_fields = ["Shot"]
result = template._apply_fields(fields, ignore_types=skip_fields)
self.assertEquals(expected, result)
示例4: test_valid_alphanumeric
def test_valid_alphanumeric(self):
"""Bug reported in Ticket #17090"""
template = TemplatePath("{branch}.v{version}.nk", self.keys, self.project_root)
input_path = os.path.join(self.project_root, "comp.v001.nk")
expected = {"branch": "comp",
"version": 1}
result = template.get_fields(input_path)
self.assertEquals(expected, result)
示例5: test_optional_sections
def test_optional_sections(self):
"""
Test that definition using optional sections resolves for missing optional values.
"""
definition = "shots/{Sequence}/{Shot}/{Step}/work/{Shot}[.{branch}][.v{version}][.{snapshot}.ma]"
template = TemplatePath(definition, self.keys, self.project_root)
relative_path = os.path.join("shots",
"seq_1",
"s1",
"Anm",
"work",
"s1.mmm.v003.002.ma")
input_path = os.path.join(self.project_root, relative_path)
expected = {"Sequence": "seq_1",
"Shot": "s1",
"Step": "Anm",
"branch":"mmm",
"version": 3,
"snapshot": 2}
result = template.get_fields(input_path)
self.assertEqual(expected, result)
# remove version value
relative_path = os.path.join("shots",
"seq_1",
"s1",
"Anm",
"work",
"s1.mmm.002.ma")
input_path = os.path.join(self.project_root, relative_path)
expected = {"Sequence": "seq_1",
"Shot": "s1",
"Step": "Anm",
"branch":"mmm",
"snapshot": 2}
result = template.get_fields(input_path)
self.assertEqual(expected, result)
# remove all optional values
relative_path = os.path.join("shots",
"seq_1",
"s1",
"Anm",
"work",
"s1")
input_path = os.path.join(self.project_root, relative_path)
expected = {"Sequence": "seq_1",
"Shot": "s1",
"Step": "Anm"}
result = template.get_fields(input_path)
self.assertEqual(expected, result)
示例6: test_aliased_key
def test_aliased_key(self):
key = IntegerKey("aliased_name")
keys = {"initial_name": key}
definition = "{initial_name}"
template = TemplatePath(definition, keys, self.project_root)
input_path = os.path.join(self.project_root, "3")
expected = {"aliased_name": 3}
result = template.get_fields(input_path)
self.assertEquals(expected, result)
示例7: test_key_first_short
def test_key_first_short(self):
definition = "{Step}/{Shot}.png"
template = TemplatePath(definition, self.keys, root_path=self.project_root)
relative_path = os.path.join("Anm", "shot_1.png")
file_path = os.path.join(self.project_root, relative_path)
expected = {"Step": "Anm",
"Shot": "shot_1"}
result = template.get_fields(file_path)
self.assertEquals(result, expected)
示例8: test_double_int_key
def test_double_int_key(self):
"""Test case that key of type int appears twice in definition."""
int_key = IntegerKey("int_key")
definition = "{int_key}/something/{int_key}.else"
template = TemplatePath(definition, {"int_key": int_key}, root_path=self.project_root)
expected = {"int_key": 4}
relative_path = "4/something/4.else"
input_path = os.path.join(self.project_root, relative_path)
actual = template.get_fields(input_path)
self.assertEquals(expected, actual)
示例9: test_key_at_end
def test_key_at_end(self):
definition = "sequences/{Sequence}/{Shot}/{Step}"
template = TemplatePath(definition, self.keys, root_path=self.project_root)
relative_path = "sequences/Seq1/Shot_1/Anm"
input_path = os.path.join(self.project_root, relative_path)
expected = {"Sequence": "Seq1",
"Shot": "Shot_1",
"Step": "Anm"}
actual = template.get_fields(input_path)
self.assertEquals(expected, actual)
示例10: test_diff_seperators
def test_diff_seperators(self):
definition = "shots/{Sequence}/{Shot}/{Step}/work"
template = TemplatePath(definition, self.keys, root_path=self.project_root)
relative_path = os.path.join("shots", "seq_1", "shot_1", "Anm", "work")
file_path = os.path.join(self.project_root, relative_path)
# adding extra seperator to end
file_path = file_path + os.path.sep
expected = {"Sequence": "seq_1",
"Shot": "shot_1",
"Step": "Anm"}
result = template.get_fields(file_path)
self.assertEquals(result, expected)
示例11: test_good_alphanumeric
def test_good_alphanumeric(self):
"""
Tests applying valid values for alphanumeric key.
"""
key = StringKey("alpha_num", filter_by="alphanumeric")
template = TemplatePath("{alpha_num}", {"alpha_num":key}, self.project_root)
valid_values = ["allChars", "123454", "mixed09", "29mixed", "mi2344xEd", "CAPS"]
for valid_value in valid_values:
result = template.apply_fields({"alpha_num": valid_value})
expected = os.path.join(self.project_root, valid_value)
self.assertEquals(expected, result)
示例12: test_format_default
def test_format_default(self):
definition = "shots/{Shot}.{branch}.{frame}.ext"
template = TemplatePath(definition, self.keys, self.project_root)
fields = { "Shot": "s1",
"branch": "loon"}
# default format
expected = os.path.join(self.project_root, "shots", "s1.loon.%04d.ext")
self.assertEquals(expected, template.apply_fields(fields))
# specify default format
expected = os.path.join(self.project_root, "shots", "s1.loon.####.ext")
fields["frame"] = "FORMAT:#"
self.assertEquals(expected, template.apply_fields(fields))
示例13: test_optional_none_value
def test_optional_none_value(self):
definition = "shots/{Shot}[.{branch}][.v{version}][.{snapshot}.ma]"
template_path = TemplatePath(definition, self.keys, self.project_root)
fields = { "Shot": "s1",
"branch": None,
"version": 3,
"snapshot": 2}
relative_path = os.path.join("shots",
"s1.v003.002.ma")
expected = os.path.join(self.project_root, relative_path)
result = template_path.apply_fields(fields)
self.assertEquals(expected, result)
示例14: test_key_first
def test_key_first(self):
definition = "{Sequence}/{Shot}/{Step}/work/{Shot}.{branch}.v{version}.{snapshot}.ma"
template = TemplatePath(definition, self.keys, root_path=self.project_root)
relative_path = os.path.join("seq_1",
"shot_1",
"Anm",
"work",
"shot_1.mmm.v003.002.ma")
file_path = os.path.join(self.project_root, relative_path)
expected = {"Sequence": "seq_1",
"Shot": "shot_1",
"Step": "Anm",
"branch":"mmm",
"version": 3,
"snapshot": 2}
result = template.get_fields(file_path)
self.assertEquals(result, expected)
示例15: test_optional_values
def test_optional_values(self):
definition = "shots/{Sequence}/{Shot}/{Step}/work/{Shot}[.{branch}][.v{version}][.{snapshot}.ma]"
template_path = TemplatePath(definition, self.keys, self.project_root)
relative_path = os.path.join("shots",
"seq_1",
"s1",
"Anm",
"work",
"s1.mmm.v003.002.ma")
expected = os.path.join(self.project_root, relative_path)
fields = {"Sequence": "seq_1",
"Shot": "s1",
"Step": "Anm",
"branch":"mmm",
"version": 3,
"snapshot": 2}
result = template_path.apply_fields(fields)
self.assertEquals(expected, result)
# remove optional value
del(fields["snapshot"])
relative_path = os.path.join("shots",
"seq_1",
"s1",
"Anm",
"work",
"s1.mmm.v003")
expected = os.path.join(self.project_root, relative_path)
result = template_path.apply_fields(fields)
self.assertEquals(expected, result)
# remove optional value
del(fields["branch"])
relative_path = os.path.join("shots",
"seq_1",
"s1",
"Anm",
"work",
"s1.v003")
expected = os.path.join(self.project_root, relative_path)
result = template_path.apply_fields(fields)
self.assertEquals(expected, result)