One more test on pymel 0.9rc2. I tried to remove all .bin files to make pymel regenerate and pickle objects from parsing maya 8.5sp1 docs. And it finally terminated with errors:
------------ # Error: A joint must be selected. # # Warning: Requested attribute not found # # Error: No Blind data typeId supplied # # No components could be pruned. # Error: The remove flag can only be used in combination with the geometry flag. # # Error: type object 'Space' has no attribute 'Space' # Traceback (most recent call last): # File "<maya console>", line 1, in ? # File "/tmp/python/pymel/__init__.py", line 1305, in ? # import core.factories as factories # File "/tmp/python/pymel/core/__init__.py", line 5, in ? # from general import * # File "/tmp/python/pymel/core/general.py", line 28, in ? # import datatypes # File "/tmp/python/pymel/core/datatypes.py", line 1321, in ? # keys = Space.Space._keys.copy() # AttributeError: type object 'Space' has no attribute 'Space' # ------------ and here is what I got in terminal: ------------------------------- pymel.core.factories : INFO : No api information for api class MVector pymel.core.factories : INFO : No api information for api class MFloatVector pymel.core.factories : INFO : No api information for api class MPoint pymel.core.factories : INFO : No api information for api class MFloatPoint pymel.core.factories : INFO : No api information for api class MColor pymel.core.factories : INFO : No api information for api class MSpace -------------------------------------- I haven't traced it to figure out what happened but I am just curious how could you do that without error? Or that might be something hard to parse in my installed maya docs. I might check it later on. - Drake On Feb 19, 2:08 am, Sebastian Thiel <byron...@googlemail.com> wrote: > To me Maya 8.5 SP1 as requirement is absolutely fine - Studio's still > working with Maya 8.5 definitely have switched to SP1 as soon as it was > available. Most of the time, they fix more than they break ;). > > On Wed, Feb 18, 2009 at 5:34 PM, Chad Dombrova <chad...@gmail.com> wrote: > > > > I see. It seems we can just comment out that "id.disown()" though~ > > > my primary concern with doing this was that there would be those > > "memory leak" warnings, but it doesn't appear that they are > > happening. however, there was a different bug with 8.5 that has > > caused me to deem that pymel will only be compatible with 8.5 SP1 and > > greater. i don't think requiring a free service pack that has been > > available for years should be too much to ask, do you? > > > > By the way, thx a lot for your guys great work on pymel and it does > > > help a lot for TD/RD's programming life in animation studio. I have > > > even started up another python module called "pyslim" dedicated to > > > Pixar's RenderMan Slim programming in Maya. Pymel is a great reference > > > and when ever I figured out something great (policy, coding > > > techniques, meta class, ...), I adopt it into pyslim. > > > sure thing. and if you ever feel the desire to really get your hands > > dirty we can always use the help. > > > -chad > > > > 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 > > --~--~---------~--~----~------------~-------~--~----~ Yours, Maya-Python Club Team. -~----------~----~----~----~------~----~------~--~---