Exemplo n.º 1
0
 def test_resolve_one_template_to_many_filenames(self):
     s = Sequence.create("1-5")
     template = "image.{frame:02d}.exr"
     result = s.expand_dollar_f(template)
     self.assertEqual(len(result), 5)
     self.assertIn("image.02.exr", result)
     self.assertIn("image.05.exr", result)
Exemplo n.º 2
0
    def test_two_the_same_substitution(self):

        template = "/path/%(frame)d/image.%(frame)04d.tif"
        result = list(Sequence.permutations(template, frame="0-20x2"))
        self.assertIn("/path/8/image.0008.tif", result)
        self.assertIn("/path/12/image.0012.tif", result)
        self.assertEqual(len(result), 11)
Exemplo n.º 3
0
    def test_one_substitution(self):

        template = "image.%(frame)04d.tif"
        result = list(Sequence.permutations(template, frame="0-20x2"))
        self.assertIn("image.0008.tif", result)
        self.assertIn("image.0012.tif", result)
        self.assertEqual(len(result), 11)
Exemplo n.º 4
0
 def test_counts_from_1_to_10(self):
     s = Sequence.create("1-10")
     ss = s.subsample(1)
     self.assertEqual(len(ss), 1)
     self.assertEqual(list(ss), [6])
     ss = s.subsample(2)
     self.assertEqual(len(ss), 2)
     self.assertEqual(list(ss), [3, 8])
     ss = s.subsample(3)
     self.assertEqual(len(ss), 3)
     self.assertEqual(list(ss), [2, 6, 9])
     ss = s.subsample(4)
     self.assertEqual(len(ss), 4)
     self.assertEqual(list(ss), [2, 4, 7, 9])
     ss = s.subsample(5)
     self.assertEqual(len(ss), 5)
     self.assertEqual(list(ss), [2, 4, 6, 8, 10])
     ss = s.subsample(6)
     self.assertEqual(len(ss), 6)
     self.assertEqual(list(ss), [1, 3, 5, 6, 8, 10])
     ss = s.subsample(7)
     self.assertEqual(len(ss), 7)
     self.assertEqual(list(ss), [1, 3, 4, 6, 7, 8, 10])
     ss = s.subsample(8)
     self.assertEqual(len(ss), 8)
     self.assertEqual(list(ss), [1, 2, 4, 5, 6, 7, 9, 10])
     ss = s.subsample(9)
     self.assertEqual(len(ss), 9)
     self.assertEqual(list(ss), [1, 2, 3, 4, 6, 7, 8, 9, 10])
     ss = s.subsample(10)
     self.assertEqual(len(ss), 10)
     self.assertEqual(list(ss), [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
     ss = s.subsample(11)
     self.assertEqual(len(ss), 10)
     self.assertEqual(list(ss), [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Exemplo n.º 5
0
 def test_three_substitutions(self):
     template = "image_%(uval)02d_%(vval)02d.%(frame)04d.tif"
     kw = {"uval": "1-2", "vval": "1-2", "frame": "10-11"}
     result = list(Sequence.permutations(template, **kw))
     self.assertIn("image_01_01.0010.tif", result)
     self.assertIn("image_02_02.0011.tif", result)
     self.assertIn("image_02_01.0010.tif", result)
     self.assertEqual(len(result), 8)
Exemplo n.º 6
0
 def test_chunk_count(self):
     s = Sequence.create("1-100")
     s.chunk_size = 7
     self.assertEqual(s.chunk_count(), 15)
     s.chunk_size = 15
     self.assertEqual(s.chunk_count(), 7)
     s.chunk_size = 10
     self.assertEqual(s.chunk_count(), 10)
Exemplo n.º 7
0
 def test_best_chunk_size(self):
     s = Sequence.create("1-100")
     s.chunk_size = 76
     self.assertEqual(s.best_chunk_size(), 50)
     s.chunk_size = 37
     self.assertEqual(s.best_chunk_size(), 34)
     s.chunk_size = 100
     self.assertEqual(s.best_chunk_size(), 100)
Exemplo n.º 8
0
 def test_create_chunks_cycle(self):
     s = Sequence.create("1-100")
     s.chunk_size = 10
     s.chunk_strategy = "cycle"
     chunks = s.chunks()
     self.assertEqual(list(chunks[0]), list(range(1, 100, 10)))
     s.chunk_size = 7
     chunks = s.chunks()
     self.assertEqual(list(chunks[0]), list(range(1, 100, 15)))
Exemplo n.º 9
0
 def test_cycle_chunks_same_as_cycle_progressions_if_input_progression(
         self):
     s = Sequence.create("1-100")
     s.chunk_size = 10
     s.chunk_strategy = "cycle"
     c_chunks = s.chunks()
     s.chunk_strategy = "cycle_progressions"
     cp_chunks = s.chunks()
     self.assertEqual(list(c_chunks[0]), list(cp_chunks[0]))
Exemplo n.º 10
0
 def test_resolve_many_templates_to_many_filenames(self):
     s = Sequence.create("1-3")
     templates = [
         "/folder_1/image.{frame:02d}.exr",
         "/folder_2/image.{frame:02d}.exr",
         "/folder_3/image.{frame:02d}.exr",
     ]
     result = s.expand_dollar_f(*templates)
     self.assertEqual(len(result), 3)
     self.assertIn("/folder_2/image.02.exr", result)
     self.assertIn("/folder_3/image.03.exr", result)
Exemplo n.º 11
0
 def test_expand_many_captures(self):
     s = Sequence.create("8-12")
     template = "/some/directory_###/image.#####.exr"
     result = s.expand(template)
     self.assertIn("/some/directory_012/image.00012.exr", result)
     self.assertIn("/some/directory_008/image.00008.exr", result)
Exemplo n.º 12
0
 def test_expand_padded_hash(self):
     s = Sequence.create("8-12")
     template = "image.#####.exr"
     result = s.expand(template)
     self.assertIn("image.00008.exr", result)
     self.assertIn("image.00012.exr", result)
Exemplo n.º 13
0
 def test_expand_single_hash(self):
     s = Sequence.create("8-12")
     template = "image.#.exr"
     result = s.expand(template)
     self.assertIn("image.8.exr", result)
     self.assertIn("image.12.exr", result)
Exemplo n.º 14
0
 def test_frame_spec_is_not_progression(self):
     s = Sequence.create("1-10, 14, 20-50x4")
     self.assertIsInstance(s, Sequence)
     self.assertNotIsInstance(s, Progression)
Exemplo n.º 15
0
 def test_single_number_string_is_progression(self):
     s = Sequence.create("1")
     self.assertIsInstance(s, Progression)
Exemplo n.º 16
0
 def test_spec_range(self):
     s = Sequence.create("1-10x2")
     self.assertEqual(s[-1], 9)
Exemplo n.º 17
0
 def test_spec_single_number(self):
     s = Sequence.create(10)
     self.assertEqual(s.to(":", "%", ";"), "10")
Exemplo n.º 18
0
 def test_spec_step_range(self):
     s = Sequence.create(1, 9, 2)
     self.assertEqual(s.to(":", "%", ";"), "1:9%2")
Exemplo n.º 19
0
 def test_spec_range(self):
     s = Sequence.create(0, 10)
     self.assertEqual(s.to(":", "%", ";"), "0:10")
Exemplo n.º 20
0
 def test_invalid_template_raises(self):
     s = Sequence.create("8-12")
     template = "image.26.exr"
     with self.assertRaises(ValueError):
         s.expand(template)
Exemplo n.º 21
0
 def test_complex_add_spaces(self):
     s = Sequence.create("1-10, 14, 20-48x4")
     self.assertEqual(s.to(":", "%", "; "), "1:10; 14; 20:48%4")
Exemplo n.º 22
0
 def test_resolve_number_after_f(self):
     s = Sequence.create("1")
     template = "image.$F.$F5.$F2.exr"
     result = s.expand_dollar_f(template)
     self.assertEqual(len(result), 1)
     self.assertEqual(result[0], "image.1.00001.01.exr")
Exemplo n.º 23
0
 def test_spec_single_number(self):
     s = Sequence.create("1-10x2")
     self.assertEqual(s[0], 1)
Exemplo n.º 24
0
 def test_resolve_lowercase_f(self):
     s = Sequence.create("1")
     template = "image.$f.$f5.$f2.exr"
     result = s.expand_dollar_f(template)
     self.assertEqual(len(result), 1)
     self.assertEqual(result[0], "image.1.00001.01.exr")
Exemplo n.º 25
0
 def test_range_step_is_progression(self):
     s = Sequence.create(1, 10, 2)
     self.assertIsInstance(s, Progression)
Exemplo n.º 26
0
 def test_resolve_one_file_no_padding(self):
     s = Sequence.create("1")
     template = "image.{frame}.exr"
     result = s.expand_format(template)
     self.assertEqual(len(result), 1)
     self.assertEqual(result[0], "image.1.exr")
Exemplo n.º 27
0
 def test_range_string_is_progression(self):
     s = Sequence.create("1-10x2")
     self.assertIsInstance(s, Progression)
Exemplo n.º 28
0
 def test_resolve_no_match_leaves_untouched(self):
     s = Sequence.create("1")
     template = "image.ho.exr"
     result = s.expand_format(template)
     self.assertEqual(len(result), 1)
     self.assertEqual(result[0], "image.ho.exr")
Exemplo n.º 29
0
 def test_list_sequence_is_not_progression(self):
     s = Sequence.create([1, 3, 4, 6, 8, 9])
     self.assertIsInstance(s, Sequence)
     self.assertNotIsInstance(s, Progression)
Exemplo n.º 30
0
 def test_resolve_many_matches(self):
     s = Sequence.create("1")
     template = "image.{frame}.{frame:05d}.{frame:02d}.exr"
     result = s.expand_dollar_f(template)
     self.assertEqual(len(result), 1)
     self.assertEqual(result[0], "image.1.00001.01.exr")