Source code for magpie.api.management.user.user_formats

from magpie.definitions.pyramid_definitions import HTTPInternalServerError
from magpie.api.exception import evaluate_call
from magpie.constants import get_constant


[docs]def format_user(user, group_names=None): def fmt_usr(usr, grp_names): user_info = { u'user_name': str(usr.user_name), u'email': str(usr.email), u'group_names': sorted(list(grp_names) if grp_names else [grp.group_name for grp in user.groups]), } if user.user_name != get_constant('MAGPIE_ANONYMOUS_USER'): user_info[u'user_id'] = int(user.id) return user_info return evaluate_call( lambda: fmt_usr(user, group_names), httpError=HTTPInternalServerError, msgOnFail="Failed to format user.", content={u'user': repr(user)}
)