Exemple #1
0
def _validate_email(email, api_version='v1'):
    """Validate the format of the email address.

    Arguments:
        email (unicode): The proposed email.
        api_version(str): Validation API version; it is used to determine the error message

    Returns:
        None

    Raises:
        errors.AccountEmailInvalid

    """
    try:
        _validate_unicode(email)
        _validate_type(email, str, accounts.EMAIL_BAD_TYPE_MSG)
        _validate_length(email, accounts.EMAIL_MIN_LENGTH,
                         accounts.EMAIL_MAX_LENGTH,
                         accounts.EMAIL_BAD_LENGTH_MSG)
        validate_email.message = (accounts.EMAIL_INVALID_MSG.format(
            email=email) if api_version == 'v1' else
                                  accounts.AUTHN_EMAIL_INVALID_MSG)
        validate_email(email)
    except (UnicodeError, errors.AccountDataBadType,
            errors.AccountDataBadLength) as invalid_email_err:
        raise errors.AccountEmailInvalid(str(invalid_email_err))
    except ValidationError as validation_err:
        raise errors.AccountEmailInvalid(validation_err.message)
Exemple #2
0
def _validate_email(email):
    """Validate the format of the email address.

    Arguments:
        email (unicode): The proposed email.

    Returns:
        None

    Raises:
        errors.AccountEmailInvalid

    """
    try:
        _validate_unicode(email)
        _validate_type(email, six.string_types, accounts.EMAIL_BAD_TYPE_MSG)
        _validate_length(email, accounts.EMAIL_MIN_LENGTH,
                         accounts.EMAIL_MAX_LENGTH,
                         accounts.EMAIL_BAD_LENGTH_MSG)
        validate_email.message = accounts.EMAIL_INVALID_MSG.format(email=email)
        validate_email(email)
    except (UnicodeError, errors.AccountDataBadType,
            errors.AccountDataBadLength) as invalid_email_err:
        raise errors.AccountEmailInvalid(text_type(invalid_email_err))
    except ValidationError as validation_err:
        raise errors.AccountEmailInvalid(validation_err.message)
Exemple #3
0
def _validate_confirm_email(confirm_email, email):
    """Validate the confirmation email field.

    :param confirm_email: The proposed confirmation email. (unicode)
    :param email: The email to match. (unicode)
    :return: None

    """
    if not confirm_email or confirm_email != email:
        raise errors.AccountEmailInvalid(accounts.REQUIRED_FIELD_CONFIRM_EMAIL_MSG)