Op 09-01-11 10:32, Marius Gedminas schreef:
On Fri, Jan 07, 2011 at 11:55:53PM +0100, Maurits van Rees wrote:
I propose to add this feedback. This needs a few simple changes in Zope2/utilities, Zope2/Startup, AccessControl, Products.PluggableAuthService, and a few doctest fixes in Products.Five. The change to Zope2/utilities/adduser.py would be this:
=================================================================== - adduser(app, user, pwd) + result = adduser(app, user, pwd) + if result: + print "User %s created." % user + else: + print "Got no result back. User creation may have failed." + print "Maybe the user already exists and nothing is done then." + print "Or the implementation does not give info when it succeeds."
I don't suppose you could somehow change the API so the script can report something useful? "I don't even know if I succeeded or not" sounds pretty pathetic.
Agreed. But with current releases of Products.PluggableAuthService (until and including 1.7.2) no result is given back, so we cannot be sure here if there is no result because the PAS is too old or because it really failed. With the proposed changes, either the created user or None is returned, which you might consider an API change. At least I mention in the interface in AccessControl that implementations should return the created user or None.
Maybe it's better than surly silence.
That's the general idea. I committed the changes on Zope2 trunk and branch 2.13, AccessControl trunk, and Products.PluggableAuthService trunk (used by Plone 4.0 and 4.1). Note that Zope2 2.13 also uses AccessControl trunk and in fact there are no official branches of that. Note that in the do_adduser method that is used in 'bin/zopectl adduser' I used shorter output as that code gets printed on the command line so it should be very simple. It either prints "Created user joe" or "Created user None". Cheers, -- Maurits van Rees Programmer at Zest Software http://zestsoftware.nl Personal website http://maurits.vanrees.org/