in tools/cli/wsk/wskadmin.py [0:0]
def deleteUserCmd(args, props):
protocol = props[DB_PROTOCOL]
host = props[DB_HOST]
port = props[DB_PORT]
username = props[DB_USERNAME]
password = props[DB_PASSWORD]
database = props[DB_WHISK_AUTHS]
if args.subject.strip() == '':
print('Subject must not be empty')
return 2
if args.namespace and args.namespace.strip() == '':
print('Namespace must not be empty')
return 2
(prev, res) = getDocumentFromDb(props, args.subject, args.verbose)
if prev is None:
print('Failed to delete subject (%s)' % res.read().strip())
return 1
if not args.namespace:
url = '%(protocol)s://%(host)s:%(port)s/%(database)s/%(subject)s?rev=%(rev)s' % {
'protocol': protocol,
'host' : host,
'port' : port,
'database': database,
'subject' : args.subject.strip(),
'rev' : prev['_rev']
}
headers = {
'Content-Type': 'application/json',
}
res = request('DELETE', url, headers=headers, auth='%s:%s' % (username, password), verbose=args.verbose)
if res.status in [200, 202]:
print('Subject deleted')
else:
print('Failed to delete subject (%s)' % res.read().strip())
return 1
else:
namespaceToDelete = args.namespace.strip()
namespaces = [ns for ns in prev['namespaces'] if ns['name'] != namespaceToDelete]
if len(prev['namespaces']) == len(namespaces):
print('Namespace "%s" does not exist for "%s"' % (namespaceToDelete, prev['_id']))
return 1
else:
prev['namespaces'] = namespaces
res = insertIntoDatabase(props, prev, args.verbose)
if res.status in [201, 202]:
print('Namespace deleted')
else:
print('Failed to remove namespace (%s)' % res.read().strip())
return 1