[Zope-dev] getUserById
Stefan H. Holek
stefan at epy.co.at
Mon Dec 13 13:22:09 EST 2004
Hm, I'd rather not raise exceptions.
getUserById was introduced in Zope 2.2 and since then has never raised
anything. From what I can see it is used as a kind of alias for
getUser, expected to return None if the user does not exist.
So, my intention is to make 'default' work, not to make it raise. I see
that raising may seem like a more consistent idea (think dict.get) but
it may also break existing code [1].
My secret agenda is to unify the behavior of getUserById across user
folders. As it is now, LDAPUserFolder, GRUF, etc all implement their
own little variations because the default is so "strange".
Stefan
[1] getUserById is not used by Zope, only in a safe way (with
default=None) by CMF, and only twice by Plone. But it is used by e.g.
CMFMember and, somewhat unfortunately, is all over ZTC-based unit
tests.
On 13. Dez 2004, at 17:15, Florent Guillaume wrote:
> Can we have instead:
>
> def getUserById(self, id, default=_marker):
> """Return the user corresponding to the given id.
>
> Raises a KeyError if the user does not exist and no default
> is provided.
> """
> user = self.getUser(id)
> if user is not None:
> return user
> if default is not _marker:
> return default
> raise KeyError(id)
>
--
The time has come to start talking about whether the emperor is as well
dressed as we are supposed to think he is. /Pete McBreen/
More information about the Zope-Dev
mailing list