def test_Resolve(self): resolver = Ar.GetResolver() self.assertEqual( resolver.Resolve("asset:Buzz/Buzz.usd"), Ar.ResolvedPath("asset:Buzz/Buzz.usd")) self.assertEqual( resolver.Resolve("asset:DoesntExist/DoesntExist.usd"), Ar.ResolvedPath())
def _AnchorRelativePath(args, resolver): if args.anchorPath: if _HasCreateIdentifier(): return resolver.CreateIdentifier(args.inputPath, Ar.ResolvedPath(args.anchorPath)) elif resolver.IsRelativePath(args.inputPath): return resolver.AnchorRelativePath(args.anchorPath, args.inputPath) return args.inputPath
def test_ResolveWithContext(self): resolver = Ar.GetResolver() self.writeVersionsDict( "resolveWithContext.json", { "Buzz" : "1" }) ctx = UsdResolverExample.ResolverContext("resolveWithContext.json") with Ar.ResolverContextBinder(ctx): self.assertEqual( resolver.Resolve("asset:Buzz/{$VERSION}/Buzz.usd"), Ar.ResolvedPath("asset:Buzz/1/Buzz.usd")) self.assertEqual( resolver.Resolve("asset:Woody/{$VERSION}/Woody.usd"), Ar.ResolvedPath("asset:Woody/latest/Woody.usd"))
def test_RefreshContext(self): resolver = Ar.GetResolver() self.writeVersionsDict( "refreshContext.json", { "Buzz" : "1" }) ctx = UsdResolverExample.ResolverContext("refreshContext.json") with Ar.ResolverContextBinder(ctx): self.assertEqual( resolver.Resolve("asset:Buzz/{$VERSION}/Buzz.usd"), Ar.ResolvedPath("asset:Buzz/1/Buzz.usd")) self.writeVersionsDict( "refreshContext.json", { "Buzz" : "latest" }) with Ar.ResolverContextBinder(ctx): self.assertEqual( resolver.Resolve("asset:Buzz/{$VERSION}/Buzz.usd"), Ar.ResolvedPath("asset:Buzz/1/Buzz.usd")) class _Listener(object): def __init__(self): self._key = Tf.Notice.RegisterGlobally( Ar.Notice.ResolverChanged, self._HandleNotice) self.receivedNotice = False def _HandleNotice(self, notice, sender): self.receivedNotice = True l = _Listener() resolver.RefreshContext(ctx) self.assertTrue(l.receivedNotice) with Ar.ResolverContextBinder(ctx): self.assertEqual( resolver.Resolve("asset:Buzz/{$VERSION}/Buzz.usd"), Ar.ResolvedPath("asset:Buzz/latest/Buzz.usd"))
def test_CreateContextFromString(self): resolver = Ar.GetResolver() self.writeVersionsDict( "createContextFromString.json", { "Buzz" : "1" }) ctx = resolver.CreateContextFromString( "asset", "createContextFromString.json") self.assertEqual( ctx, UsdResolverExample.ResolverContext("createContextFromString.json")) with Ar.ResolverContextBinder(ctx): self.assertEqual( resolver.Resolve("asset:Buzz/{$VERSION}/Buzz.usd"), Ar.ResolvedPath("asset:Buzz/1/Buzz.usd")) self.assertEqual( resolver.Resolve("asset:Woody/{$VERSION}/Woody.usd"), Ar.ResolvedPath("asset:Woody/latest/Woody.usd"))
def _RP(path = None): return Ar.ResolvedPath(os.path.abspath(path or ""))
def test_Hash(self): hash(Ar.ResolvedPath()) hash(Ar.ResolvedPath("/foo"))
def test_Str(self): self.assertEqual(str(Ar.ResolvedPath()), "") self.assertEqual(str(Ar.ResolvedPath("/foo")), "/foo")
def test_Repr(self): self.assertEqual(repr(Ar.ResolvedPath()), "Ar.ResolvedPath()") self.assertEqual(repr(Ar.ResolvedPath("/foo")), "Ar.ResolvedPath('/foo')")
def test_GetPathString(self): self.assertEqual(Ar.ResolvedPath().GetPathString(), "") self.assertEqual(Ar.ResolvedPath("/foo").GetPathString(), "/foo")
def test_Basic(self): self.assertFalse(bool(Ar.ResolvedPath())) self.assertEqual(Ar.ResolvedPath(), Ar.ResolvedPath("")) self.assertEqual(Ar.ResolvedPath(), "") self.assertTrue(bool(Ar.ResolvedPath("/foo"))) self.assertEqual(Ar.ResolvedPath("/foo"), Ar.ResolvedPath("/foo")) self.assertNotEqual(Ar.ResolvedPath("/foo"), Ar.ResolvedPath("/bar")) self.assertTrue(Ar.ResolvedPath("/foo") > Ar.ResolvedPath("/bar")) self.assertTrue(Ar.ResolvedPath("/foo") >= Ar.ResolvedPath("/bar")) self.assertFalse(Ar.ResolvedPath("/foo") < Ar.ResolvedPath("/bar")) self.assertFalse(Ar.ResolvedPath("/foo") <= Ar.ResolvedPath("/bar")) self.assertEqual(Ar.ResolvedPath("/foo"), "/foo") self.assertNotEqual(Ar.ResolvedPath("/foo"), "/bar") self.assertTrue(Ar.ResolvedPath("/foo") > "/bar") self.assertTrue(Ar.ResolvedPath("/foo") >= "/bar") self.assertFalse(Ar.ResolvedPath("/foo") < "/bar") self.assertFalse(Ar.ResolvedPath("/foo") <= "/bar") self.assertEqual("/foo", Ar.ResolvedPath("/foo")) self.assertNotEqual("/bar", Ar.ResolvedPath("/foo")) self.assertFalse("/bar" > Ar.ResolvedPath("/foo")) self.assertFalse("/bar" >= Ar.ResolvedPath("/foo")) self.assertTrue("/bar" < Ar.ResolvedPath("/foo")) self.assertTrue("/bar" <= Ar.ResolvedPath("/foo"))