[Zope-dev] Re: XML export/import is cool! (Was Re: Deprecating XML export/import?)

Tres Seaver tseaver at palladion.com
Sun Mar 26 13:57:35 EST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Yoshinori Okuji wrote:
> On Saturday 25 March 2006 15:56, Andreas Jung wrote:
> 
>>Zope 2.7 throws a BadPickleGet, 12 exception, Zope 2.8 throws
>>BadPickleGet, 13 and Zope 2.9 raises the described UnicodeDecodeError.
>>I don't expect that the import functionality works for even more complex
>>objects. So I consider the whole functionality as totally broken. The
>>generated XML might be useful to perform any processing outside Zope but
>>using it for re-importing it into another Zope systems definitely does
>>_not_  work. So if the functionality should remain in Zope then it should
>>be fixed
>>for Zope 2.10 lately.
> 
> 
> Here is a quick patch for this problem (against 2.9.1). There were two 
> different problems:
> 
> - the id attributes were not generated, because the conditional was reverse.
> 
> - unlike xmllib, expat always returns Unicode data, so simply concatenating 
> binary values generates Unicode objects with non-ascii characters.
> 
> For the latter problem, I'm not sure if my patch is enough. But this patch 
> works with a simple dtml export/import.

I have extended your patch with a unit test (there weren't any for
OFS.XMLExportImport), as well as modifying XMLExportImport to open files
in binary mode.  Before your patch, my tests fail, with the same Unicode
error.  Afterwards, they pass.



Tres.
- --
===================================================================
Tres Seaver          +1 202-558-7113          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFEJuQf+gerLs4ltQ4RAjaRAJ9tT6Xv0yIJpPx2SixFSKdghtVcrwCfU6Yk
VrofPZTcbr1RzTu5knxSwJs=
=mRAe
-----END PGP SIGNATURE-----



More information about the Zope-Dev mailing list