def get_user_properties(user_or_username):
user = get_user(user_or_username)<EOL>if user is None:<EOL><INDENT>return {}<EOL><DEDENT>if not callable(user.getUser):<EOL><INDENT>return {}<EOL><DEDENT>out = {}<EOL>plone_user = user.getUser()<EOL>for sheet in plone_user.listPropertysheets():<EOL><INDENT>ps = plone_user.getPropertysheet(sheet)<EOL>out.update(dict(ps.propertyItems()))<EOL><DEDENT>return out<EOL>
Return User Properties

    :param user_or_username: Plone group identifier
    :type groupname:  PloneUser/MemberData/str
    :returns: Plone MemberData
    :rtype: object