Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-email-validator for 
openSUSE:Factory checked in at 2023-05-26 20:15:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-email-validator (Old)
 and      /work/SRC/openSUSE:Factory/.python-email-validator.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-email-validator"

Fri May 26 20:15:05 2023 rev:5 rq:1088992 version:2.0.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-email-validator/python-email-validator.changes
    2023-01-29 14:14:46.852389786 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-email-validator.new.1533/python-email-validator.changes
  2023-05-26 20:15:09.320148885 +0200
@@ -1,0 +2,59 @@
+Thu May 25 08:23:47 UTC 2023 - Daniel Garcia <daniel.gar...@suse.com>
+
+- Add dont-require-resolv-tests.patch to make tests run without an
+  existing /etc/resolv.conf file
+- Update to 2.0.0:
+  This is a major update to the library, but since email address specs
+  haven't changed there should be no significant changes to which
+  email addresses are considered valid or invalid with default
+  options. There are new options for accepting unusual email addresses
+  that were previously always rejected, some changes to how DNS errors
+  are handled, many changes in error message text, and major internal
+  improvements including the addition of type annotations. Python 3.7+
+  is now required. Details follow:
+
+  * Python 2.x and 3.x versions through 3.6, and dnspython 1.x, are no
+    longer supported. Python 3.7+ with dnspython 2.x are now required.
+  * The dnspython package is no longer required if DNS checks are not
+    used, although it will install automatically.
+  * NoNameservers and NXDOMAIN DNS errors are now handled differently:
+    NoNameservers no longer fails validation, and NXDOMAIN now skips
+    checking for an A/AAAA fallback and goes straight to failing
+    validation.
+  * Some syntax error messages have changed because they are now
+    checked explicitly rather than as a part of other checks.
+  * The quoted-string local part syntax (e.g. multiple @-signs,
+    spaces, etc. if surrounded by quotes) and domain-literal addresses
+    (e.g. @[192.XXX...] or @[IPv6:...]) are now parsed but not
+    considered valid by default. Better error messages are now given
+    for these addresses since it can be confusing for a technically
+    valid address to be rejected, and new allow_quoted_local and
+    allow_domain_literal options are added to allow these addresses if
+    you really need them.
+  * Some other error messages have changed to not repeat the email
+    address in the error message.
+  * The email field on the returned ValidatedEmail object has been
+    renamed to normalized to be clearer about its importance, but
+    access via .email is also still supported.
+  * Some mailbox names like postmaster are now normalized to lowercase
+    per RFC 2142.
+  * The library has been reorganized internally into smaller modules.
+  * The tests have been reorganized and expanded. Deliverability tests
+    now mostly use captured DNS responses so they can be run off-line.
+  * The main tool now reads options to validate_email from environment
+    variables.
+  * Type annotations have been added to the exported methods and the
+    ValidatedEmail class and some internal methods.
+  * The old dict-like pattern for the return value of validate_email
+    is deprecated.
+
+  Versions 2.0.0.post1 and 2.0.0.post2 corrected some packaging
+  issues. 2.0.0.post2 also added a check for an invalid combination of
+  arguments.
+
+-------------------------------------------------------------------
+Thu May 25 07:18:27 UTC 2023 - Daniel Garcia <daniel.gar...@suse.com>
+
+- add sle15_python_module_pythons (jsc#PED-68)
+
+-------------------------------------------------------------------

Old:
----
  email_validator-1.3.1.tar.gz

New:
----
  dont-require-resolv-tests.patch
  email_validator-2.0.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-email-validator.spec ++++++
--- /var/tmp/diff_new_pack.ihGlAa/_old  2023-05-26 20:15:10.552156228 +0200
+++ /var/tmp/diff_new_pack.ihGlAa/_new  2023-05-26 20:15:10.560156276 +0200
@@ -16,10 +16,10 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%{?sle15_python_module_pythons}
 %define skip_python2 1
 Name:           python-email-validator
-Version:        1.3.1
+Version:        2.0.0
 Release:        0
 Summary:        A robust email syntax and deliverability validation library 
for Python
 License:        CC0-1.0
@@ -28,6 +28,8 @@
 # PATCH-FIX-OPENSUSE Ignore DeprecationWarning until requests-toolbelt is fixed
 # (Pulled in by dnspython)
 Patch0:         ignore-urllib3-pyopenssl-warning.patch
+# PATCH-FIX-OPENSUSE do not require /etc/resolv.conf for testing
+Patch1:         dont-require-resolv-tests.patch
 BuildRequires:  %{python_module dnspython >= 1.15.0}
 BuildRequires:  %{python_module idna >= 2.0.0}
 BuildRequires:  %{python_module pytest >= 5.0}
@@ -71,7 +73,11 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
-%pytest tests -k 'not (test_deliverability_no_records or 
test_deliverability_found or test_deliverability_fails or 
test_deliverability_dns_timeout or test_main_single_good_input or 
test_main_multi_input or test_main_input_shim or 
test_validate_email__with_caching_resolver or 
test_validate_email__with_configured_resolver or 
test_email_example_reserved_domain)'
+echo "nameserver 1.1.1.1" > resolv.conf
+export RESOLV_FILE=$PWD/resolv.conf
+# test_caching_dns_resolver fails when running with kvm
+donttest="test_caching_dns_resolver"
+%pytest tests -k "not ($donttest)"
 
 %post
 %python_install_alternative email_validator

++++++ dont-require-resolv-tests.patch ++++++
Index: python-email-validator-2.0.0/email_validator/deliverability.py
===================================================================
--- python-email-validator-2.0.0.orig/email_validator/deliverability.py
+++ python-email-validator-2.0.0/email_validator/deliverability.py
@@ -6,11 +6,11 @@ import dns.resolver
 import dns.exception
 
 
-def caching_resolver(*, timeout: Optional[int] = None, cache=None):
+def caching_resolver(*, timeout: Optional[int] = None, cache=None, 
resolv=None):
     if timeout is None:
         from . import DEFAULT_TIMEOUT
         timeout = DEFAULT_TIMEOUT
-    resolver = dns.resolver.Resolver()
+    resolver = dns.resolver.Resolver(filename=resolv or '/etc/resolv.conf')
     resolver.cache = cache or dns.resolver.LRUCache()  # type: ignore
     resolver.lifetime = timeout  # type: ignore # timeout, in seconds
     return resolver
Index: python-email-validator-2.0.0/tests/mocked_dns_response.py
===================================================================
--- python-email-validator-2.0.0.orig/tests/mocked_dns_response.py
+++ python-email-validator-2.0.0/tests/mocked_dns_response.py
@@ -1,5 +1,6 @@
 import dns.resolver
 import json
+import os
 import os.path
 import pytest
 
@@ -32,7 +33,8 @@ class MockedDnsResponseData:
 
         # Return a new dns.resolver.Resolver configured for caching
         # using the singleton instance.
-        return caching_resolver(cache=MockedDnsResponseData.INSTANCE)
+        return caching_resolver(cache=MockedDnsResponseData.INSTANCE,
+                                resolv=os.environ.get('RESOLV_FILE'))
 
     def __init__(self):
         self.data = {}
Index: python-email-validator-2.0.0/tests/test_deliverability.py
===================================================================
--- python-email-validator-2.0.0.orig/tests/test_deliverability.py
+++ python-email-validator-2.0.0/tests/test_deliverability.py
@@ -1,5 +1,6 @@
 import pytest
 import re
+import os
 
 from email_validator import EmailUndeliverableError, \
                             validate_email, caching_resolver
@@ -73,7 +74,7 @@ def test_caching_dns_resolver():
             self.cache[key] = value
 
     cache = TestCache()
-    resolver = caching_resolver(timeout=1, cache=cache)
+    resolver = caching_resolver(timeout=1, cache=cache, 
resolv=os.environ.get('RESOLV_FILE'))
     validate_email("t...@gmail.com", dns_resolver=resolver)
     assert len(cache.cache) == 1
 

++++++ email_validator-1.3.1.tar.gz -> email_validator-2.0.0.tar.gz ++++++
++++ 4122 lines of diff (skipped)

++++++ ignore-urllib3-pyopenssl-warning.patch ++++++
--- /var/tmp/diff_new_pack.ihGlAa/_old  2023-05-26 20:15:10.684157015 +0200
+++ /var/tmp/diff_new_pack.ihGlAa/_new  2023-05-26 20:15:10.688157039 +0200
@@ -1,10 +1,12 @@
-Index: python-email-validator-1.2.1/setup.cfg
+Index: python-email-validator-2.0.0/setup.cfg
 ===================================================================
---- python-email-validator-1.2.1.orig/setup.cfg
-+++ python-email-validator-1.2.1/setup.cfg
-@@ -43,3 +43,4 @@ max-line-length = 120
+--- python-email-validator-2.0.0.orig/setup.cfg
++++ python-email-validator-2.0.0/setup.cfg
+@@ -43,5 +43,6 @@ max-line-length = 120
  testpaths = tests
  filterwarnings =
      error
 +    ignore:.*urllib3.contrib.pyopenssl.*:DeprecationWarning
+ markers =
+     network: mark a test as requiring Internet access.
 

Reply via email to