Пример #1
0
 def test_get_stats_unsuccessful_fallback(self):
     stats = {'size': 15}
     _file = models.File('/not/a/file/path.none',
                         stats=stats,
                         get_stats=True)
     self.assertIsInstance(_file.stat, models.Stat)
     self.assertEqual(_file.size, 15)
     self.assertIsNone(_file.inode)
Пример #2
0
 def test_number_only_no_path_init(self):
     _file = models.File('1234.ext')
     self.assertEqual(_file.abspath, '1234.ext')
     self.assertEqual(_file.path, '')
     self.assertEqual(_file.name, '1234.ext')
     self.assertEqual(_file.ext, 'ext')
     self.assertEqual(_file.head, '')
     self.assertEqual(_file.frame_as_str, '1234')
     self.assertEqual(_file.frame, 1234)
     self.assertEqual(_file.tail, '.ext')
     self.assertEqual(_file.padding, 4)
Пример #3
0
 def test_number_only_init(self):
     _file = models.File('/path/to/01234.ext')
     self.assertEqual(_file.abspath, '/path/to/01234.ext')
     self.assertEqual(_file.path, '/path/to')
     self.assertEqual(_file.name, '01234.ext')
     self.assertEqual(_file.ext, 'ext')
     self.assertEqual(_file.head, '/path/to/')
     self.assertEqual(_file._framenum, '01234')
     self.assertEqual(_file.frame, 1234)
     self.assertEqual(_file.tail, '.ext')
     self.assertEqual(_file.padding, 5)
Пример #4
0
 def test_normal_init(self):
     _file = models.File('/path/to/file.01000.more.ext')
     self.assertEqual(_file.abspath, '/path/to/file.01000.more.ext')
     self.assertEqual(_file.path, '/path/to')
     self.assertEqual(_file.name, 'file.01000.more.ext')
     self.assertEqual(_file.ext, 'ext')
     self.assertEqual(_file.namehead, 'file.')
     self.assertEqual(_file.head, '/path/to/file.')
     self.assertEqual(_file.frame_as_str, '01000')
     self.assertEqual(_file.frame, 1000)
     self.assertEqual(_file.tail, '.more.ext')
     self.assertEqual(_file.padding, 5)
Пример #5
0
 def test_no_number_init(self):
     _file = models.File('/path/to/file.ext')
     self.assertEqual(_file.abspath, '/path/to/file.ext')
     self.assertEqual(_file.path, '/path/to')
     self.assertEqual(_file.name, 'file.ext')
     self.assertEqual(_file.ext, 'ext')
     self.assertEqual(_file.namehead, 'file')
     self.assertEqual(_file.head, '/path/to/file')
     self.assertEqual(_file.frame_as_str, '')
     self.assertEqual(_file.frame, None)
     self.assertEqual(_file.tail, '.ext')
     self.assertEqual(_file.padding, 0)
Пример #6
0
 def test_use_stat_list(self):
     stats = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
     _file = models.File('filename.ext', stats=stats)
     self.assertIsInstance(_file.stat, models.Stat)
     self.assertEqual(_file.size, 1)
     self.assertEqual(_file.inode, 2)
     self.assertEqual(_file.ctime, 3)
     self.assertEqual(_file.mtime, 4)
     self.assertEqual(_file.atime, 5)
     self.assertEqual(_file.mode, 6)
     self.assertEqual(_file.dev, 7)
     self.assertEqual(_file.nlink, 8)
     self.assertEqual(_file.uid, 9)
     self.assertEqual(_file.gid, 10)
Пример #7
0
 def test_sequence_size(self):
     files = [
         ('file.0.ext', {
             'size': 10
         }),
         ('file.1.ext', {
             'size': 10
         }),
         ('file.2.ext', {
             'size': 10
         }),
     ]
     sequence = models.Sequence()
     for _file in files:
         _file = models.File(*_file)
         sequence.append(_file)
     self.assertEqual(sequence.size, 30)
Пример #8
0
 def test_use_stat_dict(self):
     stats = {
         'size': 1,
         'ino': 2,
         'nlink': 3,
         'dev': 4,
         'mode': 5,
         'uid': 6,
         'gid': 7,
         'mtime': 8,
         'ctime': 9,
         'atime': 10
     }
     _file = models.File('filename.ext', stats=stats)
     self.assertEqual(_file.size, 1)
     self.assertEqual(_file.inode, 2)
     self.assertEqual(_file.nlink, 3)
     self.assertEqual(_file.dev, 4)
     self.assertEqual(_file.mode, 5)
     self.assertEqual(_file.uid, 6)
     self.assertEqual(_file.gid, 7)
     self.assertEqual(_file.mtime, 8)
     self.assertEqual(_file.ctime, 9)
     self.assertEqual(_file.atime, 10)
Пример #9
0
 def test_sequence_append_exact_dupe(self):
     _file = models.File('/path/to/file.0100.ext')
     seq = models.Sequence(_file)
     with self.assertRaises(IndexError):
         seq.append('/path/to/file.0100.ext')
Пример #10
0
 def test_sequence_append_file(self):
     file1 = models.File('/path/to/file.0100.ext')
     seq = models.Sequence(file1)
     seq.append(models.File('/path/to/file.0101.ext'))
     self.assertEqual(seq.frames, 2)
Пример #11
0
 def test_get_seq_key_no_framenum(self):
     _file = models.File('/path/to/file.ext')
     self.assertEqual(_file.get_seq_key(True), '/path/to/file.ext')
     self.assertEqual(_file.get_seq_key(ignore_padding=False),
                      '/path/to/file.ext')
Пример #12
0
 def test_get_seq_key_padding(self):
     _file = models.File('/path/to/file.1000.ext')
     self.assertEqual(_file.get_seq_key(ignore_padding=False),
                      '/path/to/file.%04d.ext')
Пример #13
0
 def test_get_seq_key_no_padding(self):
     _file = models.File('/path/to/file.1000.ext')
     self.assertEqual(_file.get_seq_key(True), '/path/to/file.#.ext')
Пример #14
0
 def test_ne_different_basename_same_number(self):
     other = models.File('/a/different/file.11.exr')
     self.assertNotEqual(self.file_11, other)
Пример #15
0
 def test_sequence_force_consistent_padding(self):
     _file = models.File('/path/to/file.0100.ext')
     seq = models.Sequence(_file, ignore_padding=False)
     self.assertEqual(seq.seq_name, '/path/to/file.%04d.ext')
     with self.assertRaises(ValueError):
         seq.append('/path/to/file.00100.ext')
Пример #16
0
 def test_sequence_append_non_member(self):
     _file = models.File('/path/to/file.0100.ext')
     seq = models.Sequence(_file)
     with self.assertRaises(ValueError):
         seq.append('/not/a/member.0001.ext')
Пример #17
0
 def test_get_stat(self):
     _file = models.File(__file__, get_stats=True)
     self.assertIsInstance(_file.stat, os.stat_result)
Пример #18
0
 def test_file_os_stat(self):
     _file = models.File(__file__, os.stat(__file__))
     self.assertIsInstance(_file.stat, os.stat_result)
Пример #19
0
 def test_sequence_inconsistent_padding_dupe(self):
     _file = models.File('/path/to/file.0100.ext')
     seq = models.Sequence(_file)
     self.assertEqual(seq.seq_name, '/path/to/file.#.ext')
     with self.assertRaises(IndexError):
         seq.append('/path/to/file.00100.ext')
Пример #20
0
 def test_get_stats_override_supplied_stats(self):
     stats = {'size': -15, 'ino': None}
     _file = models.File(__file__, stats=stats, get_stats=True)
     self.assertIsInstance(_file.stat, os.stat_result)
     self.assertNotEqual(_file.size, -15)
     self.assertIsNotNone(_file.inode)
Пример #21
0
 def test_eq_different_file_fail(self):
     other = models.File('/a/different/file.11.exr')
     self.assertFalse(self.file_11 == other)
Пример #22
0
 def setUp(self):
     CONFIG.reset_defaults()
     self.file_10 = models.File('/some/file.10.dpx')
     self.file_11 = models.File('/some/file.11.dpx')
     self.file_011 = models.File('/some/file.011.dpx')
     self.file_012 = models.File('/some/file.012.dpx')