Exemplo n.º 1
0
    def test_optional_values(self):
        """
        Test that optional keys do not appear as missing.
        """
        definition = "shots/[{Sequence}]/{Shot}/{Step}/work/{Shot}.{branch}[.v{version}][.{snapshot}].ma"
        template = Template(definition, self.keys)
        fields = {
            "Shot": "shot value",
            "Step": "step value",
            "branch": "branch value"
        }

        # all optional fields skipped
        result = template.missing_keys(fields)
        self.assertEqual([], result)

        # value allowed for optional field
        fields["snapshot"] = "snapshot value"
        result = template.missing_keys(fields)
        self.assertEqual([], result)

        # required field missing
        del (fields["Shot"])
        result = template.missing_keys(fields)
        self.assertEqual(["Shot"], result)
Exemplo n.º 2
0
 def test_aliased_key(self):
     key = StringKey("aliased_name")
     self.keys["initial_name"] = key
     definition = "something/{Shot}/{initial_name}"
     template = Template(definition, self.keys)
     fields = {"aliased_name": "some value", "Shot": "shot value"}
     result = template.missing_keys(fields)
     self.assertEqual([], result)
     fields = {"initial_name": "some_value", "Shot": "shot value"}
     result = template.missing_keys(fields)
     self.assertEqual(["aliased_name"], result)
Exemplo n.º 3
0
 def test_aliased_key(self):
     key = StringKey("aliased_name")
     self.keys["initial_name"] = key
     definition = "something/{Shot}/{initial_name}"
     template = Template(definition, self.keys)
     fields = {"aliased_name": "some value",
               "Shot": "shot value"}
     result = template.missing_keys(fields)
     self.assertEquals([], result)
     fields = {"initial_name": "some_value",
               "Shot": "shot value"}
     result = template.missing_keys(fields)
     self.assertEquals(["aliased_name"], result)
Exemplo n.º 4
0
    def setUp(self):
        super(TestTemplate, self).setUp()

        # Make various types of keys(fields)
        self.keys = {
            "Sequence":
            StringKey("Sequence"),
            "Shot":
            StringKey("Shot", default="s1", choices=["s1", "s2", "shot_1"]),
            "Step":
            StringKey("Step"),
            "branch":
            StringKey("branch", filter_by="alphanumeric"),
            "name":
            StringKey("name"),
            "version":
            IntegerKey("version", format_spec="03"),
            "snapshot":
            IntegerKey("snapshot", format_spec="03"),
            "ext":
            StringKey("ext"),
            "seq_num":
            SequenceKey("seq_num"),
            "frame":
            SequenceKey("frame", format_spec="04"),
            "day_month_year":
            TimestampKey("day_month_year", format_spec="%d_%m_%Y")
        }
        # Make a template
        self.definition = "shots/{Sequence}/{Shot}/{Step}/work/{Shot}.{branch}.v{version}.{snapshot}.{day_month_year}.ma"
        self.template = Template(self.definition, self.keys)
Exemplo n.º 5
0
 def test_key_alias(self):
     """
     Test that key's aliased name is used in template.keys dict.
     """
     key = StringKey("alias_name")
     self.keys["not_alias_name"] = key
     definition = "something/{not_alias_name}"
     template = Template(definition, self.keys)
     template_key = template.keys["alias_name"]
     self.assertEqual(key, template_key)
     self.assertEqual("something/{alias_name}", template.definition)
Exemplo n.º 6
0
    def test_optional_values(self):
        """
        Test that optional keys do not appear as missing.
        """
        definition = "shots/[{Sequence}]/{Shot}/{Step}/work/{Shot}.{branch}[.v{version}][.{snapshot}].ma"
        template = Template(definition, self.keys)
        fields = {"Shot": "shot value",
                  "Step": "step value",
                  "branch": "branch value"}

        # all optional fields skipped
        result = template.missing_keys(fields)
        self.assertEquals([], result)

        # value allowed for optional field
        fields["snapshot"] = "snapshot value"
        result = template.missing_keys(fields)
        self.assertEquals([], result)

        # required field missing
        del(fields["Shot"])
        result = template.missing_keys(fields)
        self.assertEquals(["Shot"], result)
Exemplo n.º 7
0
 def test_default_enabled(self):
     template = Template("{Shot}/{Step}", self.keys)
     fields = {"Step": "Anm"}
     expected = []
     result = template.missing_keys(fields, skip_defaults=True)
     self.assertEqual(expected, result)
Exemplo n.º 8
0
 def test_default_disabled(self):
     template = Template("{Shot}/{Step}", self.keys)
     fields = {"Step": "Anm"}
     expected = ["Shot"]
     result = template.missing_keys(fields)
     self.assertEqual(expected, result)
Exemplo n.º 9
0
 def test_no_name(self):
     template = Template(self.definition, self.keys, "")
     expected = "<Sgtk Template %s>" % self.definition
     self.assertEquals(expected, template.__repr__())
Exemplo n.º 10
0
 def test_default_period(self):
     self.keys["S.hot"] = StringKey("S.hot")
     template = Template("/something/{S.hot}/something", self.keys)
     self.assertEqual(self.keys["S.hot"], template.keys["S.hot"])
Exemplo n.º 11
0
 def test_template(self):
     template_name = "template_name"
     template = Template(self.definition, self.keys, name=template_name)
     expected = "<Sgtk Template %s: %s>" % (template_name, self.definition)
     self.assertEqual(expected, template.__repr__())
Exemplo n.º 12
0
 def test_template(self):
     template_name = "template_name"
     template = Template(self.definition, self.keys, name=template_name) 
     expected = "<Sgtk Template %s: %s>" % (template_name, self.definition)
     self.assertEquals(expected, template.__repr__())
Exemplo n.º 13
0
 def test_default_enabled(self):
     template = Template("{Shot}/{Step}", self.keys)
     fields = {"Step":"Anm"}
     expected = []
     result = template.missing_keys(fields, skip_defaults=True)
     self.assertEquals(expected, result)
Exemplo n.º 14
0
 def test_default_disabled(self):
     template = Template("{Shot}/{Step}", self.keys)
     fields = {"Step":"Anm"}
     expected = ["Shot"]
     result = template.missing_keys(fields)
     self.assertEquals(expected, result)
Exemplo n.º 15
0
 def test_definition_read_only(self):
     template = Template("some/definition", self.keys)
     self.assertRaises(AttributeError, setattr, template, "definition",
                       "other")
Exemplo n.º 16
0
 def test_default_enum_whitespace(self):
     self.keys["S hot"] = StringKey("S hot")
     template = Template("/something/{S hot}/something", self.keys)
     self.assertEqual(self.keys["S hot"], template.keys["S hot"])
Exemplo n.º 17
0
 def test_optional(self):
     template_name = "tempalte_name"
     definition = "something/{Shot}[/{Step}]"
     template = Template(definition, self.keys, name=template_name)
     expected = "<Sgtk Template %s: %s>" % (template_name, definition)
     self.assertEqual(expected, template.__repr__())
Exemplo n.º 18
0
 def test_no_name(self):
     template = Template(self.definition, self.keys, "")
     expected = "<Sgtk Template %s>" % self.definition
     self.assertEqual(expected, template.__repr__())
Exemplo n.º 19
0
 def test_optional(self):
     template_name = "tempalte_name"
     definition = "something/{Shot}[/{Step}]"
     template = Template(definition, self.keys, name=template_name) 
     expected = "<Sgtk Template %s: %s>" % (template_name, definition)
     self.assertEquals(expected, template.__repr__())