On Wednesday 08 March 2006 08:57, Florian Lindner wrote: > Hello, > I'm currently playning with the functions from zope.app.appsetup.bootstrap > and I'm wondering why the functions that create objects > (addConfigureUtility, addUtility, configureUtility, ensureObject, > ensureUtility) do return the name of the object added (or None) and not the > object itself. What is the reason for that? > > IMO in most cases you add a Utility you want to change some attributes of > it afterwards. In order to do that you need the object instance. To get it > from the name you have to perform a getUtility call. If the functions above > would return the object you could omit the getUtility. > > What do you think about that?
This is a relic from the early days, when we still had context wrappers. I am +1 for the change, but backward-compatibility has to be provided. And since the return value changes, this has to be done in two steps: 1. Create a new option argument to the functions saying ``asObject=False``, and only if set to True the object will return. Then deprecate the string return value by generating a warning message. 2. After two releases, remove deprecated string value return and set ``asObject=True`` by default. Also deprecate the asObject argument again. Regards, Stephan -- Stephan Richter CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com