Skip to content
Snippets Groups Projects

Error message for missing users and roles in linkahead_admin.py

Merged I. Nüske requested to merge f-linkahead_admin-error-message into dev
@@ -33,7 +33,7 @@ from argparse import ArgumentParser, RawDescriptionHelpFormatter
import linkahead as db
from linkahead import administration as admin
from linkahead.exceptions import HTTPClientError
from linkahead.exceptions import HTTPClientError, HTTPResourceNotFoundError, HTTPForbiddenError
__all__ = []
__version__ = 0.3
@@ -42,19 +42,35 @@ __updated__ = '2018-12-11'
def do_update_role(args):
admin._update_role(name=args.role_name, description=args.role_description)
try:
admin._update_role(name=args.role_name, description=args.role_description)
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot update role '{args.role_name}', "
f"reason: '{e.msg}'")
def do_create_role(args):
admin._insert_role(name=args.role_name, description=args.role_description)
try:
admin._insert_role(name=args.role_name, description=args.role_description)
except (HTTPClientError, HTTPForbiddenError) as e:
print(f"Error: Cannot create role '{args.role_name}', "
f"reason: '{e.msg}'")
def do_retrieve_role(args):
print(admin._retrieve_role(name=args.role_name))
try:
print(admin._retrieve_role(name=args.role_name))
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot retrieve role '{args.role_name}', "
f"reason: '{e.msg}'")
def do_delete_role(args):
admin._delete_role(name=args.role_name)
try:
admin._delete_role(name=args.role_name)
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot delete role '{args.role_name}', "
f"reason: '{e.msg}'")
def do_retrieve(args):
@@ -126,22 +142,25 @@ def do_create_user(args):
if args.activate_user:
do_activate_user(args)
except HTTPClientError as e:
print(e.msg)
except (HTTPForbiddenError, HTTPClientError) as e:
print(f"Error: Cannot create user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_activate_user(args):
try:
admin._update_user(name=args.user_name, status="ACTIVE")
except HTTPClientError as e:
print(e.msg)
except (HTTPResourceNotFoundError, HTTPForbiddenError, HTTPClientError) as e:
print(f"Error: Cannot activate user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_deactivate_user(args):
try:
admin._update_user(name=args.user_name, status="INACTIVE")
except HTTPClientError as e:
print(e.msg)
except (HTTPResourceNotFoundError, HTTPForbiddenError, HTTPClientError) as e:
print(f"Error: Cannot deactivate user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_set_user_password(args):
@@ -151,57 +170,109 @@ def do_set_user_password(args):
password = args.user_password
try:
admin._update_user(name=args.user_name, password=password)
except HTTPClientError as e:
print(e.msg)
except (HTTPResourceNotFoundError, HTTPForbiddenError, HTTPClientError) as e:
print(f"Error: Cannot set password for user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_add_user_roles(args):
roles = admin._get_roles(username=args.user_name, realm=None)
try:
roles = admin._get_roles(username=args.user_name, realm=None)
except (HTTPForbiddenError, HTTPResourceNotFoundError) as e:
print(f"Error: Cannot access roles for user '{args.user_name}', "
f"reason: '{e.msg}'")
return
for r in args.user_roles:
roles.add(r)
admin._set_roles(username=args.user_name, roles=roles)
try:
admin._set_roles(username=args.user_name, roles=roles)
except (HTTPResourceNotFoundError, HTTPForbiddenError, HTTPClientError) as e:
print(f"Error: Cannot add new roles for user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_remove_user_roles(args):
roles = admin._get_roles(username=args.user_name, realm=None)
try:
roles = admin._get_roles(username=args.user_name, realm=None)
except (HTTPForbiddenError, HTTPResourceNotFoundError) as e:
print(f"Error: Cannot access roles for user '{args.user_name}', "
f"reason: '{e.msg}'")
return
for r in args.user_roles:
if r in roles:
roles.remove(r)
admin._set_roles(username=args.user_name, roles=roles)
try:
admin._set_roles(username=args.user_name, roles=roles)
except (HTTPResourceNotFoundError, HTTPForbiddenError, HTTPClientError) as e:
print(f"Error: Cannot remove roles from user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_set_user_entity(args):
admin._update_user(name=args.user_name, entity=args.user_entity)
try:
admin._update_user(name=args.user_name, entity=args.user_entity)
except (HTTPResourceNotFoundError, HTTPForbiddenError, HTTPClientError) as e:
print(f"Error: Cannot set entity for user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_reset_user_entity(args):
admin._update_user(name=args.user_name, entity="")
try:
admin._update_user(name=args.user_name, entity="")
except (HTTPResourceNotFoundError, HTTPForbiddenError, HTTPClientError) as e:
print(f"Error: Cannot remove entity for user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_set_user_email(args):
admin._update_user(name=args.user_name, email=args.user_email)
try:
admin._update_user(name=args.user_name, email=args.user_email)
except (HTTPResourceNotFoundError, HTTPForbiddenError, HTTPClientError) as e:
print(f"Error: Cannot set email for user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_retrieve_user(args):
print(admin._retrieve_user(name=args.user_name))
try:
print(admin._retrieve_user(name=args.user_name))
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot retrieve user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_delete_user(args):
admin._delete_user(name=args.user_name)
try:
admin._delete_user(name=args.user_name)
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot delete user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_retrieve_user_roles(args):
print(admin._get_roles(username=args.user_name))
try:
print(admin._get_roles(username=args.user_name))
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot retrieve roles for user '{args.user_name}', "
f"reason: '{e.msg}'")
def do_retrieve_role_permissions(args):
print(admin._get_permissions(role=args.role_name))
try:
print(admin._get_permissions(role=args.role_name))
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot retrieve permissions for role '{args.role_name}', "
f"reason: '{e.msg}'")
def do_grant_role_permissions(args):
perms = admin._get_permissions(args.role_name)
try:
perms = admin._get_permissions(role=args.role_name)
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot access permissions for role '{args.role_name}', "
f"reason: '{e.msg}'")
return
for p in args.role_permissions:
g = admin.PermissionRule(
@@ -215,11 +286,20 @@ def do_grant_role_permissions(args):
if d in perms:
perms.remove(d)
perms.add(g)
admin._set_permissions(role=args.role_name, permission_rules=perms)
try:
admin._set_permissions(role=args.role_name, permission_rules=perms)
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot set permissions for role '{args.role_name}', "
f"reason: '{e.msg}'")
def do_revoke_role_permissions(args):
perms = admin._get_permissions(args.role_name)
try:
perms = admin._get_permissions(role=args.role_name)
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot access permissions for role '{args.role_name}', "
f"reason: '{e.msg}'")
return
for p in args.role_permissions:
g = admin.PermissionRule(
@@ -232,11 +312,20 @@ def do_revoke_role_permissions(args):
if d in perms:
perms.remove(d)
admin._set_permissions(role=args.role_name, permission_rules=perms)
try:
admin._set_permissions(role=args.role_name, permission_rules=perms)
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot revoke permissions for role '{args.role_name}', "
f"reason: '{e.msg}'")
def do_deny_role_permissions(args):
perms = admin._get_permissions(args.role_name)
try:
perms = admin._get_permissions(role=args.role_name)
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot access permissions for role '{args.role_name}', "
f"reason: '{e.msg}'")
return
for p in args.role_permissions:
g = admin.PermissionRule(
@@ -250,7 +339,11 @@ def do_deny_role_permissions(args):
if d in perms:
perms.remove(d)
perms.add(d)
admin._set_permissions(role=args.role_name, permission_rules=perms)
try:
admin._set_permissions(role=args.role_name, permission_rules=perms)
except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
print(f"Error: Cannot deny permissions for role '{args.role_name}', "
f"reason: '{e.msg}'")
def do_retrieve_entity_acl(args):
Loading