[etwist] Drop try/except around definitions of 'all-in-one' configuration and command handlers
cubicweb.server is no longer conditionally shipped, neither in python package
nor in debian package since 3.24.
from __future__ import print_function
from base64 import b64decode, b64encode
try:
uri, newdn = __args__
except ValueError:
print('USAGE: cubicweb-ctl shell <instance> ldap_change_base_dn.py -- <ldap source uri> <new dn>')
print()
print('you should not have updated your sources file yet')
olddn = repo.sources_by_uri[uri].config['user-base-dn']
assert olddn != newdn
raw_input("Ensure you've stopped the instance, type enter when done.")
for eid, olduserdn in rql("Any X, XURI WHERE X cwuri XURI, X cw_source S, S name %(name)s",
{'name': uri}):
newuserdn = olduserdn.replace(olddn, newdn)
if newuserdn != olduserdn:
print(olduserdn, '->', newuserdn)
sql("UPDATE cw_cwuser SET cw_cwuri='%s' WHERE cw_eid=%s" % (newuserdn, eid))
commit()
print('you can now update the sources file to the new dn and restart the instance')