Daniel Shahaf added the comment: Eli Bendersky wrote on Thu, Jan 03, 2013 at 14:44:02 +0000: > If this change is required (even if we choose to name it > "xml.etree.ElementTree.Element" for Py compatibility to fix the pickling > regression, we may find ourselves in a need to change it between 3.3 and > 3.3.1 and I'm not sure if that's valid. I hope my question on pydev will be > resolved conclusively. > > Danial, could you investigate if such a change is absolutely required to > make pickling/unickling of Element work?
There are a few options: - Change c-Element's tp_name to "xml.etree.ElementTree.Element". - Register a reduce function for c-Element's that serialises them by constructing an equivalent py-Element and returning the latter's .__dict__ via the third return value: http://docs.python.org/3/library/copyreg#copyreg.pickle - Add an entry mapping "builtins.Element" to "xml.etree.ElementTree.Element" to _compat_pickle.IMPORT_MAPPING (which is used by Lib/pickle.py:_Pickler.find_class()). I haven't tried to implement either of these approaches. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue16076> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com