It seems I am too late to see this following discussion. I also did the same test on Maya 8.5sp1 x86 and it turned out the same error message.
As Chadrik mentioned it is a maya.OpenMaya bug, I am wondering how many functions/methods influenced by this bug in Maya 8.5sp1? Because that might be a big concern for me to decide upgrading pymel from 0.7 to 0.9 or not. We are in rush hour such that I decided to delay upgrading. - Drake On Mar 4, 4:18 am, Ian Jones <shrt...@gmail.com> wrote: > Nevermind - missed the replace on the setLocked(True) in your example. > So only the first code snippett failed. > > Again this worked: > > from pymel import * > s = polySphere()[0] > s.tx.__apimplug__().setLocked(True) > attrs = s.listAttr(locked=True) > for attr in attrs: > attr.__apimplug__().setLocked(False) > > On Mar 3, 12:16 pm, Ian Jones <shrt...@gmail.com> wrote: > > > Sorry for the incomplete example. > > > However both code snippets you gave me raise the same error (output > > below). I noticed this did not throw an error in 2009 - so I would > > expect it to be 8.5 SP1 bug. > > > Ian > > > from pymel import * > > s = polySphere()[0] > > s.tx.setLocked(True) > > attrs = s.listAttr(locked=True) > > for attr in attrs: > > attr.setLocked(False) > > # Error: argument number 1: Unmatched paren in format > > # Traceback (most recent call last): > > # File "<maya console>", line 3, in ? > > # File "<string>", line 2, in setLocked > > # File "D:\Toolkit\trunk\sww\plat-indep\maya\all\scripts\pymel\core > > \factories.py", line 2615, in wrappedApiFunc > > # result = method( mfn, *newargs ) > > # File "C:\engserv\rbuild\164\build\wrk\optim\runTime\Python\Lib > > \site-packages\maya\OpenMaya.py", line 7921, in setLocked > > # SystemError: argument number 1: Unmatched paren in format # > > > s = polySphere()[0] > > s.tx.setLocked(True) > > attrs = s.listAttr(locked=True) > > for attr in attrs: > > attr.__apimplug__().setLocked(False) > > # Error: argument number 1: Unmatched paren in format > > # Traceback (most recent call last): > > # File "<maya console>", line 2, in ? > > # File "<string>", line 2, in setLocked > > # File "D:\Toolkit\trunk\sww\plat-indep\maya\all\scripts\pymel\core > > \factories.py", line 2615, in wrappedApiFunc > > # result = method( mfn, *newargs ) > > # File "C:\engserv\rbuild\164\build\wrk\optim\runTime\Python\Lib > > \site-packages\maya\OpenMaya.py", line 7921, in setLocked > > # SystemError: argument number 1: Unmatched paren in format # > > > On Mar 3, 10:40 am, chadrik <chad...@gmail.com> wrote: > > > > Hey Ian, > > > > > Found one issue with RC4 (8.5SP1 x86): > > > > > from pymel import * > > > > > dup = PyNode('my_skinned_mesh') > > > > attrs = dup.listAttr(locked=True) > > > > for attr in attrs: > > > > attr.setLocked(False) > > > > > results in: > > > > > # Error: argument number 1: Unmatched paren in format > > > > # Traceback (most recent call last): > > > > # File "<maya console>", line 3, in ? > > > > # File "<string>", line 2, in setLocked > > > > # File "C:/Documents and Settings/ijones/My Documents/maya/8.5/ > > > > scripts/pymel\core\factories.py", line 2615, in wrappedApiFunc > > > > # File "C:\engserv\rbuild\164\build\wrk\optim\runTime\Python\Lib > > > > \site-packages\maya\OpenMaya.py", line 7921, in setLocked > > > > # SystemError: argument number 1: Unmatched paren in format # > > > > can you provide a full script that reproduces the problem? > > > > i ran this on 2008ext2 without problems, can you test it on your > > > machine?: > > > > s = polySphere()[0] > > > s.tx.setLocked(True) > > > attrs = s.listAttr(locked=True) > > > for attr in attrs: > > > attr.setLocked(False) > > > > it's possible that the bug is in maya.OpenMaya. to test this you can > > > modify your code like so: > > > > attrs = dup.listAttr(locked=True) > > > for attr in attrs: > > > attr.__apimplug__().setLocked(False) > > > > that will get you the api mplug for the attribute, with no pymel > > > wrapper around it. > > > > > and since you asked: > > > > > The new treatment of non-existent objects took me a bit of time to get > > > > used to/port my code. No big deal, and I don't mind the new behavior > > > > at all - it makes sense to me. The bigger problem is that I have to > > > > have all the tools ported and somewhat tested before I can release the > > > > new version of pymel/tools to the studio. I would have much rather had > > > > the feature be depreciated for one release to allow me more time to > > > > transition smoothly. Luckily we have a nice break now to do it > > > > otherwise I would probably would have waited till summer to do so. > > > > i'll look into the possibility of allowing greater backward > > > compatibility in this regard as frustrating early adopters is a big > > > concern to me. in this version we've introduced a configuration file > > > for customizing pymel, so we might be able to have a "0.7 > > > compatibility mode". i would leave it off by default, but describe it > > > in the docs while also underscoring that it may be removed in future > > > versions. > > > > thanks for the feedback, it's very much appreciated. > > > > -chad > > --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/python_inside_maya -~----------~----~----~----~------~----~------~--~---