[Zope-dev] Proposal: set __parent__ and __name__ in Zope 2.12 OFS
Martin Aspeli
optilude+lists at gmail.com
Mon Apr 27 13:21:29 EDT 2009
Laurence Rowe wrote:
> Martin Aspeli wrote:
>> Hi,
>>
>> First - a quick question: can we treat __name__ and id/getId()/_setId()
>> as the same, always? OFS.SimpleItem has some support for letting id and
>> name be the same, but the link is lost once both __name__ and id are
>> set. Why isn't __name__ just a property that reflects self.id ?
>
> I would prefer this to be the other way around -- getId() / _setId()
> should operate on __name__. It will be easier to drop OFS support in the
> future if pickles store the real __name__ and __parent__ attributes. We
> will presumably require a migration now anyway to add __parent__ pointers.
It kind of already does that if 'id' isn't set. But when 'id' is set,
they diverge.
Also note that according to ILocation, __name__ is a TextLine, which
implies unicode. unicode ids are a no-no in Zope 2.
The current solution I've put into dexterity is to let __name__ be a
property that gets and sets id, but assumes its value is unicode. It'll
fail if the unicode string can't be encoded to ASCII, though.
Martin
--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
More information about the Zope-Dev
mailing list