data.update(kw) req = Request('http://localhost:6543/profile/update/{0}'.format(uuid), 'PUT') req.add_header('Content-Type', 'application/json') try: response = urllib2.urlopen(req, json.dumps(data)) return response.code == 200 except urllib2.HTTPError: pass return False uf = getToolByName(portal, 'acl_users') pwmap = uf.source_users._user_passwords msdao = MemberServicesDataAccess(portal) # Traverse the password map in source_users, as this is much less expensive # than using acl_users.getUsers or portal_membership.listMembers. Fetch each # member separately. total = len(pwmap) count = 0 for uid, pw in pwmap.items(): member = uf.getUser(uid) pw = pwmap.get(uid, None) # A quick inspection on live indicates all users have SSHA passwords. if pw is not None and pw.startswith('{SSHA}'): password = pw[6:] # Other details we need