Skip to content

Utils

email_filter(emails)

Remove duplicated emails and strings looks like emails (2@pic.png)

Examples:

>>> from extract_emails.utils import email_filter
>>> test_emails = ["email@email.com", "email@email.com", "2@pic.png"]
>>> filtered_emails = email_filter(test_emails)
>>> filtered_emails
{"email@email.com"}

Parameters:

Name Type Description Default
emails Iterable[str]

List of new emails

required

Returns:

Type Description
Set[str]

List of filtered emails

Source code in extract_emails/utils/email_filter.py
def email_filter(emails: Iterable[str]) -> Set[str]:
    """Remove duplicated emails and strings looks like emails (2@pic.png)

    Examples:
        >>> from extract_emails.utils import email_filter
        >>> test_emails = ["email@email.com", "email@email.com", "2@pic.png"]
        >>> filtered_emails = email_filter(test_emails)
        >>> filtered_emails
        {"email@email.com"}

    Args:
        emails: List of new emails

    Returns:
        List of filtered emails
    """
    return set(
        email for email in emails if "." + email.split(".")[-1] in TOP_LEVEL_DOMAINS
    )