def testEmptyBasename(self): seq = FileSequence("/path/to/1-5#.exr") self.assertEquals(seq.basename(), "") self.assertEquals(len(seq), 5) self.assertEquals(seq.padding(), '#') seq = FileSequence("/path/to/1-5%04d.exr") self.assertEquals(seq.basename(), "") self.assertEquals(len(seq), 5) self.assertEquals(seq.padding(), '%04d')
def testStringSubclasses(self): def sep(p): return p.replace("/", os.sep) tests = [ ("/path/to/files.0001.ext", sep("/path/to/"), "files."), ("/path/to/files.1-100#.ext", sep("/path/to/"), "files."), ("/path/to/files.ext", sep("/path/to/"), "files"), ("/path/to/files", sep("/path/to/"), "files"), ] for path, dirname, basename in tests: fs = FileSequence(_CustomPathString(path)) self.assertTrue(fs.dirname() == dirname, "Expected '%s', got '%s' (with %s)" % (dirname, fs.dirname(), path)) self.assertTrue(fs.basename() == basename, "Expected '%s', got '%s' (with %s)" % (basename, fs.basename(), path))
def testIgnoreFrameSetStrings(self): for char in "xy:,".split(): fs = FileSequence("/path/to/file{0}1-1x1#.exr".format(char)) self.assertEquals(fs.basename(), "file{0}".format(char)) self.assertEquals(fs.start(), 1) self.assertEquals(fs.end(), 1) self.assertEquals(fs.padding(), '#') self.assertEquals(str(fs), "/path/to/file{0}1-1x1#.exr".format(char))
def testStringSubclasses(self): sep = lambda p: p.replace("/", os.sep) tests = [ ("/path/to/files.0001.ext", sep("/path/to/"), "files."), ("/path/to/files.1-100#.ext", sep("/path/to/"), "files."), ("/path/to/files.ext", sep("/path/to/"), "files"), ("/path/to/files", sep("/path/to/"), "files"), ] for path, dirname, basename in tests: fs = FileSequence(_CustomPathString(path)) self.assertTrue( fs.dirname() == dirname, "Expected '%s', got '%s' (with %s)" % (dirname, fs.dirname(), path)) self.assertTrue( fs.basename() == basename, "Expected '%s', got '%s' (with %s)" % (basename, fs.basename(), path))
def testNoFrameNoVersionNoExt(self): fs = FileSequence("/path/to/file") self.assertEquals(fs.start(), 0) self.assertEquals(fs.end(), 0) self.assertEquals(fs.padding(), '') self.assertEquals(fs.dirname(), '/path/to/') self.assertEquals(fs.basename(), 'file') self.assertEquals(fs.extension(), '') self.assertEquals(str(fs), "/path/to/file") fs = FileSequence("file") self.assertEquals(fs.start(), 0) self.assertEquals(fs.end(), 0) self.assertEquals(fs.padding(), '') self.assertEquals(fs.dirname(), '') self.assertEquals(fs.basename(), 'file') self.assertEquals(fs.extension(), '') self.assertEquals(str(fs), "file")
def testSeqGettersType1(self): seq = FileSequence("/foo/boo.1-5#.exr") self.assertEquals(5, len(seq)) self.assertEquals("/foo/", seq.dirname()) self.assertNativeStr(seq.dirname()) self.assertEquals("boo.", seq.basename()) self.assertNativeStr(seq.basename()) self.assertEquals("#", seq.padding()) self.assertNativeStr(seq.padding()) self.assertEquals(".exr", seq.extension()) self.assertNativeStr(seq.extension()) self.assertEquals("/foo/boo.9999.exr", seq.frame(9999)) self.assertNativeStr(seq.frame(9999)) self.assertEquals("/foo/boo.0001.exr", seq[0]) self.assertNativeStr(seq[0]) self.assertEquals("/foo/boo.0001.exr", seq.index(0)) self.assertNativeStr(seq.index(0))
def testNoPlaceholderNumExt(self): basename = 'file' exts = ('.7zip', '.mp4') for ext in exts: expected = basename + ext seqs = FileSequence(expected) self.assertEquals(ext, seqs.extension()) self.assertEquals(basename, seqs.basename()) self.assertEquals(expected, str(seqs))
def testSeqGettersPrintf(self): seq = FileSequence("/foo/boo.1-5%04d.exr") self.assertEquals(5, len(seq)) self.assertEquals("/foo/", seq.dirname()) self.assertEquals("boo.", seq.basename()) self.assertEquals("%04d", seq.padding()) self.assertEquals(".exr", seq.extension()) self.assertEquals("/foo/boo.9999.exr", seq.frame(9999)) self.assertEquals("/foo/boo.0001.exr", seq[0]) self.assertEquals("/foo/boo.0001.exr", seq.index(0))
def testSeqGettersHoudini(self): seq = FileSequence("/foo/boo.1-5$F.exr") self.assertEquals(5, len(seq)) self.assertEquals("/foo/", seq.dirname()) self.assertEquals("boo.", seq.basename()) self.assertEquals("$F", seq.padding()) self.assertEquals(".exr", seq.extension()) self.assertEquals("/foo/boo.9999.exr", seq.frame(9999)) self.assertEquals("/foo/boo.1.exr", seq[0]) self.assertEquals("/foo/boo.1.exr", seq.index(0))
def testSeqGettersType2(self): seq = FileSequence("/foo/boo1-5#.exr") self.assertEquals(5, len(seq)) self.assertEquals("/foo/", seq.dirname()) self.assertEquals("boo", seq.basename()) self.assertEquals("#", seq.padding()) self.assertEquals(".exr", seq.extension()) self.assertEquals("/foo/boo9999.exr", seq.frame(9999)) self.assertEquals("/foo/boo0001.exr", seq[0]) self.assertEquals("/foo/boo0001.exr", seq.index(0))
def testNativeStr(self): seq = FileSequence("/foo/boo.1-5#.exr") self.assertNativeStr(seq.dirname()) self.assertNativeStr(seq.basename()) self.assertNativeStr(seq.padding()) self.assertNativeStr(seq.extension()) self.assertNativeStr(seq.extension()) self.assertNativeStr(seq.format('{basename}')) self.assertNativeStr(seq.frame(1)) self.assertNativeStr(seq.frameRange()) self.assertNativeStr(seq.index(1)) self.assertNativeStr(seq.invertedFrameRange()) self.assertNativeStr(FileSequence.conformPadding('#')) self.assertNativeStr(FileSequence.getPaddingChars(4))