[Python-Dev] Pickling failure on Enums
Nick Coghlan
ncoghlan at gmail.com
Wed May 15 00:16:36 CEST 2013
More information about the Python-Dev mailing list
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 ]
More information about the Python-Dev mailing list