def retrieve_and_parse_profile(handle):
hcard = retrieve_diaspora_hcard(handle)<EOL>if not hcard:<EOL><INDENT>return None<EOL><DEDENT>profile = parse_profile_from_hcard(hcard, handle)<EOL>try:<EOL><INDENT>profile.validate()<EOL><DEDENT>except ValueError as ex:<EOL><INDENT>logger.warning("<STR_LIT>",<EOL>profile, ex)<EOL>return None<EOL><DEDENT>return profile<EOL>
Retrieve the remote user and return a Profile object.

:arg handle: User handle in username@domain.tld format
:returns: ``federation.entities.Profile`` instance or None