@check_cache(User)<EOL><INDENT>@one_of_keyword_only('<STR_LIT:id>', '<STR_LIT>')<EOL>def get(self, arg, value):<DEDENT>
if arg == '<STR_LIT:id>':<EOL><INDENT>response = self._swimlane.request('<STR_LIT>', '<STR_LIT>'.format(value))<EOL>try:<EOL><INDENT>user_data = response.json()<EOL><DEDENT>except ValueError:<EOL><INDENT>raise ValueError('<STR_LIT>'.format(value))<EOL><DEDENT>return User(self._swimlane, user_data)<EOL><DEDENT>else:<EOL><INDENT>response = self._swimlane.request('<STR_LIT>', '<STR_LIT>'.format(quote_plus(value)))<EOL>matched_users = response.json()<EOL>target_matches = []<EOL>for user_data in matched_users:<EOL><INDENT>user_display_name = user_data.get('<STR_LIT>')<EOL>if user_display_name == value:<EOL><INDENT>target_matches.append(user_data)<EOL><DEDENT><DEDENT>if not target_matches:<EOL><INDENT>raise ValueError('<STR_LIT>'.format(value))<EOL><DEDENT>if len(target_matches) > <NUM_LIT:1>:<EOL><INDENT>raise ValueError('<STR_LIT>'.format(<EOL>value,<EOL>'<STR_LIT:U+002CU+0020>'.join(['<STR_LIT>'.format(r['<STR_LIT:id>']) for r in target_matches])<EOL>))<EOL><DEDENT>return User(self._swimlane, target_matches[<NUM_LIT:0>])<EOL><DEDENT>
Retrieve single user record by id or username

        Warnings:
            User display names are not unique. If using `display_name`, method will fail if multiple Users are returned
            with the same display name

        Keyword Args:
            id (str): Full User ID
            display_name (str): User display name

        Returns:
            User: User instance matching provided inputs

        Raises:
            TypeError: Unexpected or more than one keyword argument provided
            ValueError: No matching user found based on provided inputs, or multiple Users with same display name