def test_neq(self): ls = LevelSpec.from_str("FOO.RD.0001") other = "bla" self.assertTrue(ls != other) other = LevelSpec("FOO") self.assertTrue(ls != other) other = LevelSpec.from_str("FOO.RD.0001") self.assertFalse(ls != other)
def mklevel(self, level, relpath=None, mode=0777): try: lsp = LevelSpec.from_str(level) newdir = lsp.path(relpath) os.makedirs(newdir, mode) except OSError, err: # Reraise the error unless it's about an already existing directory if err.errno != errno.EEXIST or not os.path.isdir(newdir): raise
def get_children(self, levelspec): # get the full path to the levelspec from level sgchildren = self.gw.shotgun_rpc.child_levels(levelspec) children = [] for child in sgchildren: child_levelspec = LevelSpec.from_str(levelspec) + child children.append(str(child_levelspec)) # return json return json.dumps({'child_levels': children})
def rmlevel(self, level, relpath=None, mode=0777): try: lsp = LevelSpec.from_str(level) targetdir = lsp.path(relpath) shutil.rmtree(targetdir) except OSError as err: if err.errno != errno.ENOENT: raise else: return 0 return 1
def test_add(self): ls = LevelSpec.from_str("FOO.BAR") ls2 = ls + "0001" self.assertEqual(ls2, LevelSpec.from_str("FOO.BAR.0001")) self.assertEqual(ls2.__str__(), "FOO.BAR.0001")
def test_path_relpath_sloppy(self): """only valid for linux. i am lazy""" environ[DD_SHOWS_ROOT] = "/TEST" ls = LevelSpec.from_str("FOO.BAR.0001") expect = "/TEST/FOO/BAR/0001/bla/bla/bla" self.assertEqual(ls.path("//bla////bla/bla"), expect)
def test_parent_show(self): ls = LevelSpec.from_str("FOO") leaf = ls.parent() expect = None self.assertEqual(leaf, expect)
def test_parent_seq(self): ls = LevelSpec.from_str("FOO.RD") leaf = ls.parent() expect = LevelSpec("FOO") self.assertEqual(leaf, expect)
def test_add_full(self): ls = LevelSpec("FOO", "BAR", "0001") with self.assertRaises(RuntimeError): lsn = ls + 1
def from_str_bad(self): with self.assertRaises(KeyError): ls = LevelSpec.from_str("")
def from_str_show(self): ls = LevelSpec.from_str("FOO") expect = LevelSpec("FOO") self.assertEqual(ls, expect)
def from_str_seq(self): ls = LevelSpec.from_str("FOO.RD") expect = LevelSpec("FOO", "RD") self.assertEqual(ls, expect)
def from_str_shot(self): ls = LevelSpec.from_str("FOO.RD.0001") expect = LevelSpec("FOO", "RD", "0001") self.assertEqual(ls, expect)
def test_str2(self): ls = LevelSpec.from_str("FOO.BAR") string = ls.__str__() self.assertEqual(string, "FOO.BAR")
def root(self): return LevelSpec.root()
def test_leaf(self): ls = LevelSpec.from_str("FOO.RD.0001") leaf = ls.leaf() expect = "0001" self.assertEqual(leaf, expect)
def test_show_leaf(self): ls = LevelSpec.from_str("FOO") leaf = ls.leaf() expect = "FOO" self.assertEqual(leaf, expect)
def _path(self, level, relpath): levelspec = LevelSpec.from_str(level) path = levelspec.path(relpath) return path
def test_add_fail(self): ls = LevelSpec("FOO", "BAR") with self.assertRaises(TypeError): lsn = ls + [1, 2]