def test_listNodes(self): self.assertEqual( set(pm.Namespace('FOO').listNodes()), set([ pm.PyNode('FOO:sphere1'), pm.PyNode('FOO:sphere1Shape'), pm.PyNode('FOO:sphere2'), pm.PyNode('FOO:sphere2Shape'), ])) if self.recurseAvailable: self.assertEqual( set(pm.Namespace('FOO').listNodes(recursive=False)), set([ pm.PyNode('FOO:sphere1'), pm.PyNode('FOO:sphere1Shape'), pm.PyNode('FOO:sphere2'), pm.PyNode('FOO:sphere2Shape'), ])) self.assertEqual( set(pm.Namespace('FOO').listNodes(recursive=True)), set([ pm.PyNode('FOO:sphere1'), pm.PyNode('FOO:sphere1Shape'), pm.PyNode('FOO:sphere2'), pm.PyNode('FOO:sphere2Shape'), pm.PyNode('FOO:BAR:sphere1'), pm.PyNode('FOO:BAR:sphere1Shape'), ]))
def get_namespace_as_pynode(namespace_string): namespace = None try: namespace = pm.Namespace(namespace_string) except ValueError: for ns in pm.listNamespaces(recursive=True): if ns.endswith(namespace_string): namespace = ns break if namespace: return namespace raise ValueError("Namespace '{}' does not exist.".format(namespace_string))
def test_listNamespaces(self): self.assertEqual(set(pm.Namespace('FOO').listNamespaces()), set([pm.Namespace('FOO:BAR'), ])) if self.recurseAvailable: self.assertEqual(set(pm.Namespace('FOO').listNamespaces(recursive=False)), set([pm.Namespace('FOO:BAR'), ])) self.assertEqual(set(pm.Namespace('FOO').listNamespaces(recursive=True)), set([pm.Namespace('FOO:BAR'), pm.Namespace('FOO:BAR:CALVIN') ]))
def test_returns_first_nested_alphabetical_if_same_depth(self): pm.namespace(add=':foo:bar:spam:eggs') pm.namespace(add=':goo:car:spam:eggs') expected = pm.Namespace(':foo:bar:spam') result = namespaceutils.get_namespace_as_pynode('spam') self.assertEqual(expected, result)
def test_returns_first_nested(self): pm.namespace(add=':foo:bar:spam:eggs:spam') expected = pm.Namespace(':foo:bar:spam') result = namespaceutils.get_namespace_as_pynode('spam') self.assertEqual(expected, result)
def test_simple(self): pm.namespace(add='foo') expected = pm.Namespace('foo') result = namespaceutils.get_namespace_as_pynode('foo') self.assertEqual(expected, result)
def update_blacklist_from_nodetypes(self, *nodetypes, **kwargs): for node in pm.Namespace(kwargs.get("namespace", ":")).listNodes(recursive=True): if node.nodeType() in nodetypes: self.add_blacklisted_nodes(node)