Just dropped RC4 which should fix this problem. Does anyone have any feedback regarding the treatment of non-existent objects in the new PyMEL? love it, hate it? check out the docs under non-backward compatible changes.
-chad > > Everytime I import pymel in Maya 8.5sp1, I have the following msg: > > ----------------------- > # Traceback (most recent call last): > # File "/opt/lib/python2.4/logging/__init__.py", line 740, in emit > # File "/opt/lib/python2.4/logging/__init__.py", line 718, in flush > # AttributeError: 'maya.Output' object has no attribute 'flush' > # Warning: The callback " has already been added. # > // Warning: The callback " has already been added. // > ---------------------------------- > > Don't know how to trace this. Any idea? > > - Drake > > On Feb 20, 9:56 am, Drake <drake.g...@gmail.com> wrote: >> On Feb 19, 12:34 am, Chad Dombrova <chad...@gmail.com> wrote: >> >>> sure thing. and if you ever feel the desire to really get your hands >>> dirty we can always use the help. >> >>> -chad >> >> I would like to do some contribution if possible :) >> >> - Drake >> >> >> >>>> Drake >> >>>> On Feb 18, 10:56 am, chadrik <chad...@gmail.com> wrote: >>>>> there's a thread on this forum about it, but it's like this: when >>>>> you >>>>> use an MMessage to create a callback in the api, swig -- the c++ >>>>> to >>>>> python wrapping mechanism -- thinks there is a memory leak. >>>>> disown >>>>> tells swig to ignore the swig object and stop trying to detect >>>>> leaks. >>>>> at least as far as i understand it. there's not actually a >>>>> memory >>>>> leak, but the warning will be very ominous to users, especially >>>>> if it >>>>> shows up every time you execute a mel script via python. so we'll >>>>> just have to keep this new feature for 2008+ >> >>>>> -chad >> >>>>> On Feb 17, 2009, at 5:11 PM, Drake wrote: >> >>>>>> I was wondering what kind of class the "id" is and did a quick >>>>>> test by >>>>>> following: >> >>>>>> --------------------------- >>>>>> id = api.MCommandMessage.addCommandOutputCallback >>>>>> ( errorCallback, None ) >>>>>> print type(id) >>>>>> print dir(id) >>>>>> return >>>>>> --------------------- >> >>>>>> and I got this: >> >>>>>> <type 'PySwigObject'> >>>>>> [] >>>>>> ------------------------- >> >>>>>> It seems the returned object by "addCommandOutputCallback()" is >>>>>> different between 8.5 and 2008~. I am just guessing. BTW, what >>>>>> does >>>>>> id.disown() do exactly? >> >>>>>> - Drake >> >>>>>> On Feb 18, 12:10 am, Chad Dombrova <chad...@gmail.com> wrote: >>>>>>> looks like we have a decision to make: either 8.5 users can >>>>>>> deal >>>>>>> with >>>>>>> annoying but harmless "Callback Memory Leak" warnings or they >>>>>>> don't >>>>>>> get informative MEL errors with line numbers, etc. the >>>>>>> problem is >>>>>>> that most users don't realize that these memory leak warnings >>>>>>> are, in >>>>>>> fact, harmless, so i think i'm going to have to leave the >>>>>>> feature >>>>>>> out >>>>>>> on 8.5... >> >>>>>>> thanks for the bug report. >> >>>>>>> -chad >> >>>>>>> On Feb 17, 2009, at 2:54 AM, Drake wrote: >> >>>>>>>> Maya 8.5 SP1 x64 >>>>>>>> ---------- >>>>>>>> from pymel import * >>>>>>>> pymel : DEBUG : setting logLevel to default: >>>>>>>> # Traceback (most recent call last): >>>>>>>> # File "/opt/lib/python2.4/logging/__init__.py", line 740, in >>>>>>>> emit >>>>>>>> # File "/opt/lib/python2.4/logging/__init__.py", line 718, in >>>>>>>> flush >>>>>>>> # AttributeError: 'maya.Output' object has no attribute 'flush' >>>>>>>> # Error: 'PySwigObject' object has no attribute 'disown' >>>>>>>> # Traceback (most recent call last): >>>>>>>> # File "<maya console>", line 1, in ? >>>>>>>> # File "/tmp/python/pymel/__init__.py", line 1477, in ? >>>>>>>> # _installCallbacks() >>>>>>>> # File "/tmp/python/pymel/__init__.py", line 1459, in >>>>>>>> _installCallbacks >>>>>>>> # mel.unloadPlugin( addCallback='''python("import pymel; >>>>>>>> pymel._pluginUnloaded('#1')")''' ) >>>>>>>> # File "/tmp/python/pymel/core/language.py", line 426, in >>>>>>>> _call >>>>>>>> # return self.eval(cmd) >>>>>>>> # File "/tmp/python/pymel/core/language.py", line 528, in >>>>>>>> eval >>>>>>>> # id.disown() >>>>>>>> # AttributeError: 'PySwigObject' object has no attribute >>>>>>>> 'disown' # >> >>>>>>>> Drake >> >>>>>>>> On Feb 14, 5:37 am, chadrik <chad...@gmail.com> wrote: >>>>>>>>> there was a bug with RC2 related to the pluginLoaded >>>>>>>>> callbacks. >>>>>>>>> it's >>>>>>>>> tough to get these working properly because: >> >>>>>>>>> 1 ) loadPlugin causes errors when using python >>>>>>>>> callbacks >>>>>>>>> 2) unloadPlugin does not even support python callbacks >>>>>>>>> 3) unloadPlugin mel command is not passing the >>>>>>>>> pluginName >>>>>>>>> to the >>>>>>>>> function (even when using #1 syntax) >>>>>>>>> 4 ) api callbacks for plugin load/unload are not >>>>>>>>> supported >>>>>>>>> until maya >>>>>>>>> 2009 >> >>>>>>>>> needless to say this is pretty botched on autodesk's end. >> >>>>>>>>> but it's working well enough now with RC3. >> >>>>>>>>> -chad >> >>>>>>>>> On Feb 12, 2009, at 11:00 PM, Chadrik wrote: >> >>>>>>>>>> hi all, i posted RC2 tonight adding 8.5 support, as well as >>>>>>>>>> fixing >>>>>>>>>> Mike's bug and a few others. >> >>>>>>>>>> download it here:http://code.google.com/p/pymel/downloads/ >>>>>>>>>> list >> >>>>>>>>>> -chad >> >> > > --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/python_inside_maya -~----------~----~----~----~------~----~------~--~---