I would love a fix for this, but I have zero input on how this should
happen.

For my current need I ended up using "store out" and "read in"
functions, what converts all pynodes's to strings before pickle and
then back into pynodes after unpickle.. Simple but effective :-)

Thanks,
Sune

On Oct 27, 9:06 pm, chadrik <[email protected]> wrote:
> PyNodes already have special code to ensure they will pickle, and they  
> will correctly unpickle as long as the maya objects in the pickle  
> exist in the current scene.  the question is, "what should pymel do if  
> the node/attr does not exist?"
>
>
>
>
>
> > Ah-hah!  That's cool.
> > So, I actually ran into a very similar problem on Monday:  I was
> > trying to use pickle to store objects built via functools.partial
> > (which I suppose you could equate to a PyNode class instance in this
> > case), but pickle said it couldn't do it, which was a bummer (no
> > pickling functools.partial objects).  What I did instead was write my
> > own custom class (very simple) that wrappered all the args I was
> > passing into my functools.partial object (basically, the creation
> > state args).  That custom class was easily pickleable.  When I
> > unpickled that data, I passed those args back into the the function
> > that made my objects in the scene (in this case PyMel presumably), and
> > pow, there they appeared.  Kind of convoluted, but it works.
>
> > On Oct 27, 8:49 am, chadrik <[email protected]> wrote:
> >>> I don't use pymel, but I do use Python and pickle in Maya ;)  From
> >>> your above example, it looks like x is a tuple with two strings in
> >>> it?  Or is pymel storing more complex objects as the name
> >>> representation of the nodes rather than strings?
>
> >> yeah, pymel represents nodes as instances of a PyNode class, not
> >> simple strings.  these node class instances themselves store  
> >> instances
> >> of the underlying api objects that they represent, so this data has  
> >> to
> >> be rebuilt.  strings are so 2006 ;)
>
> >> -chad
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/python_inside_maya
-~----------~----~----~----~------~----~------~--~---

Reply via email to