示例#1
0
    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())
示例#2
0
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
示例#3
0
    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"))
示例#4
0
    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"))
示例#5
0
    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"))
示例#6
0
 def _RP(path = None):
     return Ar.ResolvedPath(os.path.abspath(path or ""))
示例#7
0
 def test_Hash(self):
     hash(Ar.ResolvedPath())
     hash(Ar.ResolvedPath("/foo"))
示例#8
0
 def test_Str(self):
     self.assertEqual(str(Ar.ResolvedPath()), "")
     self.assertEqual(str(Ar.ResolvedPath("/foo")), "/foo")
示例#9
0
 def test_Repr(self):
     self.assertEqual(repr(Ar.ResolvedPath()), "Ar.ResolvedPath()")
     self.assertEqual(repr(Ar.ResolvedPath("/foo")),
                      "Ar.ResolvedPath('/foo')")
示例#10
0
 def test_GetPathString(self):
     self.assertEqual(Ar.ResolvedPath().GetPathString(), "")
     self.assertEqual(Ar.ResolvedPath("/foo").GetPathString(), "/foo")
示例#11
0
    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"))