Загрузить файлы в «venv/Lib/site-packages/email_validator»
This commit is contained in:
61
venv/Lib/site-packages/email_validator/__main__.py
Normal file
61
venv/Lib/site-packages/email_validator/__main__.py
Normal file
@@ -0,0 +1,61 @@
|
||||
# A command-line tool for testing.
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# python -m email_validator test@example.org
|
||||
# python -m email_validator < LIST_OF_ADDRESSES.TXT
|
||||
#
|
||||
# Provide email addresses to validate either as a command-line argument
|
||||
# or in STDIN separated by newlines. Validation errors will be printed for
|
||||
# invalid email addresses. When passing an email address on the command
|
||||
# line, if the email address is valid, information about it will be printed.
|
||||
# When using STDIN, no output will be given for valid email addresses.
|
||||
#
|
||||
# Keyword arguments to validate_email can be set in environment variables
|
||||
# of the same name but uppercase (see below).
|
||||
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
from typing import Any, Dict, Optional
|
||||
|
||||
from .validate_email import validate_email, _Resolver
|
||||
from .deliverability import caching_resolver
|
||||
from .exceptions import EmailNotValidError
|
||||
|
||||
|
||||
def main(dns_resolver: Optional[_Resolver] = None) -> None:
|
||||
# The dns_resolver argument is for tests.
|
||||
|
||||
# Set options from environment variables.
|
||||
options: Dict[str, Any] = {}
|
||||
for varname in ('ALLOW_SMTPUTF8', 'ALLOW_EMPTY_LOCAL', 'ALLOW_QUOTED_LOCAL', 'ALLOW_DOMAIN_LITERAL',
|
||||
'ALLOW_DISPLAY_NAME',
|
||||
'GLOBALLY_DELIVERABLE', 'CHECK_DELIVERABILITY', 'TEST_ENVIRONMENT'):
|
||||
if varname in os.environ:
|
||||
options[varname.lower()] = bool(os.environ[varname])
|
||||
for varname in ('DEFAULT_TIMEOUT',):
|
||||
if varname in os.environ:
|
||||
options[varname.lower()] = float(os.environ[varname])
|
||||
|
||||
if len(sys.argv) == 1:
|
||||
# Validate the email addresses passed line-by-line on STDIN.
|
||||
dns_resolver = dns_resolver or caching_resolver()
|
||||
for line in sys.stdin:
|
||||
email = line.strip()
|
||||
try:
|
||||
validate_email(email, dns_resolver=dns_resolver, **options)
|
||||
except EmailNotValidError as e:
|
||||
print(f"{email} {e}")
|
||||
else:
|
||||
# Validate the email address passed on the command line.
|
||||
email = sys.argv[1]
|
||||
try:
|
||||
result = validate_email(email, dns_resolver=dns_resolver, **options)
|
||||
print(json.dumps(result.as_dict(), indent=2, sort_keys=True, ensure_ascii=False))
|
||||
except EmailNotValidError as e:
|
||||
print(e)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user