[Zope-CMF] SVN: Products.GenericSetup/trunk/Products/GenericSetup/ Don't bomb out with an AttributeError when encoding an attribute
Maurits van Rees
m.van.rees at zestsoftware.nl
Wed Mar 3 06:24:20 EST 2010
Wichert Akkerman, on 2010-03-03:
> On 3/3/10 11:48 , Maurits van Rees wrote:
>> Log message for revision 109595:
>> Don't bomb out with an AttributeError when encoding an attribute
>> with value None that is being exported; just use an empty string then.
>> Case in point: create a Plone Site, set the MailHost settings through
>> the Site Setup; an export of the mailhost settings would then fail if
>> some of the values (e.g. smtp_uid) were blank (None).
>
> Might I suggest not exporting anything instead of an empty string? There
> is a big difference between None and "".
I just tried that; this would generate a file like this:
<object name="foo_mailhost" meta_type="Mail Host" smtp_host="localhost"
smtp_port="25"/>
An import of this file in a Plone Site worked. But then the export
would become this:
<object name="foo_mailhost" meta_type="Mail Host" smtp_host="localhost"
smtp_port="25" smtp_pwd="" smtp_uid=""/>
So then an import of an export gives a slightly different result; and
the tests do not like that, failing either in test_body_set or in
test_body_get, depending on how you define as self._BODY in
MailHost/tests/test_exportimport.py
So I say we keep it like this.
Alternatively, Plone could be fixed to not set None values in the mail
settings (in plone.app.controlpanel). But I think this general fix in
GenericSetup is fine.
--
Maurits van Rees | http://maurits.vanrees.org/
Work | http://zestsoftware.nl/
What are you going to create today?
More information about the Zope-CMF
mailing list