[Python-Dev] Pickling failure on Enums (original) (raw)
Nick Coghlan ncoghlan at gmail.com
Wed May 15 00:16:36 CEST 2013
- Previous message: [Python-Dev] Pickling failure on Enums
- Next message: [Python-Dev] Pickling failure on Enums
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 15 May 2013 07:38, "Guido van Rossum" <guido at python.org> wrote:
On Tue, May 14, 2013 at 2:13 PM, Ethan Furman <ethan at stoneleaf.us> wrote: > On 05/14/2013 01:58 PM, Guido van Rossum wrote: >> >> On Tue, May 14, 2013 at 1:09 PM, Ethan Furman <ethan at stoneleaf.us> wrote: >>> I can get pickle failure on members created using the functional syntax >>> with no module set; >> >> >> That's the case I care most about. > > > Good, 'cause that one is handled. :) Then we're good. >>> I cannot get pickle failure on those same classes; >> >> >> I suppose you mean "if you create the same enums using class syntax"? >> Sounds fine to me. > > > No. Example class: > > --> Example = Enum('Example', 'example ie eg') # no module name given, > frame hack fails > > --> pickle(Example.ie) > # blows up > > --# pickle(Example) > # succeeds here, but unpickle will fail Not great, but (a) few people pickle classes, and (b) there's probably something you can do to the metaclass to sabotage this. But it's fine to punt on this now.
It may be a bug in pickle - it sounds like it is sanity checking type(obj), but not checking for cases where obj itself is a class.
Cheers, Nick.
>>> I cannot get pickle failure on class syntax enums that inherit complex >>> types >>> (such as the NEI class in the tests). >> >> >> Is the NEI base class picklable? > > > No. If it is, then the derived enum is also picklable (at least the > variation I have tested, which is when the NEI base class has > getnewargs). > > I'm really hoping you'll say that can be a documentation issue. ;) Essentially the same response -- with enough hackery you can probably get this to do what you want, but I wouldn't hold up a release for it. For example you could file low-priority bugs for both issues in the hope that someone else figures it out. -- --Guido van Rossum (python.org/~guido)
Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20130515/8eb9a00c/attachment-0001.html>
- Previous message: [Python-Dev] Pickling failure on Enums
- Next message: [Python-Dev] Pickling failure on Enums
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]