Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-aiosmtplib for 
openSUSE:Factory checked in at 2023-06-21 22:39:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aiosmtplib (Old)
 and      /work/SRC/openSUSE:Factory/.python-aiosmtplib.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-aiosmtplib"

Wed Jun 21 22:39:00 2023 rev:10 rq:1094128 version:2.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-aiosmtplib/python-aiosmtplib.changes      
2023-02-10 14:36:17.250267284 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-aiosmtplib.new.15902/python-aiosmtplib.changes
   2023-06-21 22:39:48.086350327 +0200
@@ -1,0 +2,8 @@
+Tue Jun 20 16:49:38 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 2.0.2:
+  * Bugfix: don't send extra EHLO/HELO before QUIT
+  * Change: added SMTPConnectionResponseError for invalid
+    response on connect only
+
+-------------------------------------------------------------------

Old:
----
  aiosmtplib-2.0.1.tar.gz

New:
----
  aiosmtplib-2.0.2.tar.gz

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

Other differences:
------------------
++++++ python-aiosmtplib.spec ++++++
--- /var/tmp/diff_new_pack.fWh9fO/_old  2023-06-21 22:39:48.594353383 +0200
+++ /var/tmp/diff_new_pack.fWh9fO/_new  2023-06-21 22:39:48.598353406 +0200
@@ -20,7 +20,7 @@
 %define skip_python2 1
 %define skip_python36 1
 Name:           python-aiosmtplib
-Version:        2.0.1
+Version:        2.0.2
 Release:        0
 Summary:        Python asyncio SMTP client
 License:        MIT

++++++ aiosmtplib-2.0.1.tar.gz -> aiosmtplib-2.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/CHANGELOG.rst 
new/aiosmtplib-2.0.2/CHANGELOG.rst
--- old/aiosmtplib-2.0.1/CHANGELOG.rst  2023-01-07 19:55:21.944431000 +0100
+++ new/aiosmtplib-2.0.2/CHANGELOG.rst  2023-06-03 21:44:59.071944200 +0200
@@ -1,6 +1,13 @@
 Changelog
 =========
 
+2.0.2
+-----
+
+- Bugfix: don't send extra EHLO/HELO before QUIT (credit @ikrivosheev)
+- Change: added SMTPConnectionResponseError for invalid response on
+  connect only (credit @ikrivosheev)
+
 2.0.1
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/PKG-INFO 
new/aiosmtplib-2.0.2/PKG-INFO
--- old/aiosmtplib-2.0.1/PKG-INFO       1970-01-01 01:00:00.000000000 +0100
+++ new/aiosmtplib-2.0.2/PKG-INFO       1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: aiosmtplib
-Version: 2.0.1
+Version: 2.0.2
 Summary: asyncio SMTP client
 Home-page: https://github.com/cole/aiosmtplib
 License: MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/aiosmtplib/__init__.py 
new/aiosmtplib-2.0.2/aiosmtplib/__init__.py
--- old/aiosmtplib-2.0.1/aiosmtplib/__init__.py 2023-01-07 19:55:21.944431000 
+0100
+++ new/aiosmtplib-2.0.2/aiosmtplib/__init__.py 2023-06-03 21:44:59.071944200 
+0200
@@ -25,6 +25,7 @@
     SMTPSenderRefused,
     SMTPServerDisconnected,
     SMTPTimeoutError,
+    SMTPConnectResponseError,
 )
 from .response import SMTPResponse
 from .smtp import SMTP
@@ -32,7 +33,7 @@
 
 
 __title__ = "aiosmtplib"
-__version__ = "2.0.1"
+__version__ = "2.0.2"
 __author__ = "Cole Maclean"
 __license__ = "MIT"
 __copyright__ = "Copyright 2022 Cole Maclean"
@@ -55,4 +56,5 @@
     "SMTPTimeoutError",
     "SMTPConnectTimeoutError",
     "SMTPReadTimeoutError",
+    "SMTPConnectResponseError",
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/aiosmtplib/errors.py 
new/aiosmtplib-2.0.2/aiosmtplib/errors.py
--- old/aiosmtplib-2.0.1/aiosmtplib/errors.py   2023-01-07 19:55:21.944431000 
+0100
+++ new/aiosmtplib-2.0.2/aiosmtplib/errors.py   2023-06-03 21:44:59.071944200 
+0200
@@ -17,6 +17,7 @@
     "SMTPTimeoutError",
     "SMTPConnectTimeoutError",
     "SMTPReadTimeoutError",
+    "SMTPConnectResponseError",
 )
 
 
@@ -78,6 +79,12 @@
         self.args = (code, message)
 
 
+class SMTPConnectResponseError(SMTPResponseException, SMTPConnectError):
+    """
+    The SMTP server returned an invalid response code after connecting.
+    """
+
+
 class SMTPHeloError(SMTPResponseException):
     """
     Server refused HELO or EHLO.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/aiosmtplib/smtp.py 
new/aiosmtplib-2.0.2/aiosmtplib/smtp.py
--- old/aiosmtplib-2.0.1/aiosmtplib/smtp.py     2023-01-07 19:55:21.944431000 
+0100
+++ new/aiosmtplib-2.0.2/aiosmtplib/smtp.py     2023-06-03 21:44:59.071944200 
+0200
@@ -31,6 +31,7 @@
     SMTPSenderRefused,
     SMTPServerDisconnected,
     SMTPTimeoutError,
+    SMTPConnectResponseError,
 )
 from .esmtp import parse_esmtp_extensions
 from .protocol import SMTPProtocol
@@ -521,7 +522,7 @@
             ) from exc
 
         if response.code != SMTPStatus.ready:
-            raise SMTPConnectError(str(response))
+            raise SMTPConnectResponseError(response.code, response.message)
 
         return response
 
@@ -793,9 +794,6 @@
 
         :raises SMTPResponseException: on unexpected server response code
         """
-        # Can't quit without HELO/EHLO
-        await self._ehlo_or_helo_if_needed()
-
         response = await self.execute_command(b"QUIT", timeout=timeout)
         if response.code != SMTPStatus.closing:
             raise SMTPResponseException(response.code, response.message)
@@ -1055,8 +1053,10 @@
             method_name = f'auth_{auth_name.replace("-", "")}'
             try:
                 auth_method = getattr(self, method_name)
-            except AttributeError:
-                raise RuntimeError(f"Missing handler for auth method 
{auth_name}")
+            except AttributeError as err:
+                raise RuntimeError(
+                    f"Missing handler for auth method {auth_name}"
+                ) from err
             try:
                 response = await auth_method(username, password, 
timeout=timeout)
             except SMTPAuthenticationError as exc:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/pyproject.toml 
new/aiosmtplib-2.0.2/pyproject.toml
--- old/aiosmtplib-2.0.1/pyproject.toml 2023-01-07 19:55:21.944431000 +0100
+++ new/aiosmtplib-2.0.2/pyproject.toml 2023-06-03 21:44:59.071944200 +0200
@@ -4,7 +4,7 @@
 
 [tool.poetry]
 name = "aiosmtplib"
-version = "2.0.1"
+version = "2.0.2"
 description = "asyncio SMTP client"
 authors = ["Cole Maclean <h...@colemaclean.dev>"]
 license = "MIT"
@@ -78,6 +78,12 @@
 bandit = "^1.7.4"
 safety = "^2.3.1"
 
+[tool.poetry.group.lint]
+optional = true
+
+[tool.poetry.group.lint.dependencies]
+ruff = "^0.0.244"
+
 [tool.pytest.ini_options]
 asyncio_mode = "strict"
 minversion = "6.0"
@@ -87,11 +93,15 @@
     "tests"
 ]
 
-[tool.isort]
-profile = "black"
-lines_after_imports = 2
-default_section = "THIRDPARTY"
-known_first_party = [ "aiosmtplib" ]
+[tool.ruff]
+# Enable flake8-bugbear (`B`) rules.
+select = ["E", "F", "B"]
+# Never enforce `E501` (line length violations).
+ignore = ["E501"]
+# Avoid trying to fix flake8-bugbear (`B`) violations.
+unfixable = ["B"]
+line-length = 88
+target-version = "py37"
 
 [tool.coverage]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/setup.py 
new/aiosmtplib-2.0.2/setup.py
--- old/aiosmtplib-2.0.1/setup.py       1970-01-01 01:00:00.000000000 +0100
+++ new/aiosmtplib-2.0.2/setup.py       1970-01-01 01:00:00.000000000 +0100
@@ -21,7 +21,7 @@
 
 setup_kwargs = {
     'name': 'aiosmtplib',
-    'version': '2.0.1',
+    'version': '2.0.2',
     'description': 'asyncio SMTP client',
     'long_description': 'aiosmtplib\n==========\n\n|circleci| |precommit.ci| 
|codecov| |pypi-version| |pypi-status| |downloads| 
|pypi-python-versions|\n|pypi-license|\n\n------------\n\naiosmtplib is an 
asynchronous SMTP client for use with asyncio.\n\nFor documentation, see `Read 
The Docs`_.\n\nQuickstart\n----------\n\n.. code-block:: python\n\n    import 
asyncio\n    from email.message import EmailMessage\n\n    import 
aiosmtplib\n\n    message = EmailMessage()\n    message["From"] = 
"root@localhost"\n    message["To"] = "someb...@example.com"\n    
message["Subject"] = "Hello World!"\n    message.set_content("Sent via 
aiosmtplib")\n\n    asyncio.run(aiosmtplib.send(message, hostname="127.0.0.1", 
port=25))\n\n\nRequirements\n------------\nPython 3.7+, compiled with SSL 
support, is required.\n\n\nBug Reporting\n-------------\nBug reports (and 
feature requests) are welcome via `Github issues`_.\n\n\n\n.. |circleci| 
image:: https://circleci.com/gh/cole/aiosmtplib/tree/main.svg?style=
 shield\n           :target: 
https://circleci.com/gh/cole/aiosmtplib/tree/main\n           :alt: "aiosmtplib 
CircleCI build status"\n.. |pypi-version| image:: 
https://img.shields.io/pypi/v/aiosmtplib.svg\n                 :target: 
https://pypi.python.org/pypi/aiosmtplib\n                 :alt: "aiosmtplib on 
the Python Package Index"\n.. |pypi-python-versions| image:: 
https://img.shields.io/pypi/pyversions/aiosmtplib.svg\n.. |pypi-status| image:: 
https://img.shields.io/pypi/status/aiosmtplib.svg\n.. |pypi-license| image:: 
https://img.shields.io/pypi/l/aiosmtplib.svg\n.. |codecov| image:: 
https://codecov.io/gh/cole/aiosmtplib/branch/main/graph/badge.svg\n             
:target: https://codecov.io/gh/cole/aiosmtplib\n.. |downloads| image:: 
https://pepy.tech/badge/aiosmtplib\n               :target: 
https://pepy.tech/project/aiosmtplib\n               :alt: "aiosmtplib on 
pypy.tech"\n.. |precommit.ci| image:: 
https://results.pre-commit.ci/badge/github/cole/aiosmtplib/main.svg\n           
        :target: 
https://results.pre-commit.ci/latest/github/cole/aiosmtplib/main\n              
    :alt: "pre-commit.ci status"\n.. _Read The Docs: 
https://aiosmtplib.readthedocs.io/en/stable/overview.html\n.. _Github issues: 
https://github.com/cole/aiosmtplib/issues\n',
     'author': 'Cole Maclean',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/tests/auth.py 
new/aiosmtplib-2.0.2/tests/auth.py
--- old/aiosmtplib-2.0.1/tests/auth.py  2023-01-07 19:55:21.944431000 +0100
+++ new/aiosmtplib-2.0.2/tests/auth.py  2023-06-03 21:44:59.071944200 +0200
@@ -6,7 +6,6 @@
 
 
 class DummySMTPAuth(SMTP):
-
     transport = None
 
     def __init__(self, *args: Any, **kwargs: Any):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/tests/conftest.py 
new/aiosmtplib-2.0.2/tests/conftest.py
--- old/aiosmtplib-2.0.1/tests/conftest.py      2023-01-07 19:55:21.944431000 
+0100
+++ new/aiosmtplib-2.0.2/tests/conftest.py      2023-06-03 21:44:59.071944200 
+0200
@@ -399,9 +399,9 @@
 
 
 @pytest.fixture(scope="session")
-def smtpd_mock_response_done_then_close() -> Callable[
-    [SMTPD], Coroutine[Any, Any, None]
-]:
+def smtpd_mock_response_done_then_close() -> (
+    Callable[[SMTPD], Coroutine[Any, Any, None]]
+):
     async def mock_response_done_then_close(
         smtpd: SMTPD, *args: Any, **kwargs: Any
     ) -> None:
@@ -423,9 +423,9 @@
 
 
 @pytest.fixture(scope="session")
-def smtpd_mock_response_error_disconnect() -> Callable[
-    [SMTPD], Coroutine[Any, Any, None]
-]:
+def smtpd_mock_response_error_disconnect() -> (
+    Callable[[SMTPD], Coroutine[Any, Any, None]]
+):
     async def mock_response_error_disconnect(
         smtpd: SMTPD, *args: Any, **kwargs: Any
     ) -> None:
@@ -515,9 +515,9 @@
 
 
 @pytest.fixture(scope="session")
-def smtpd_mock_response_tls_not_available() -> Callable[
-    [SMTPD], Coroutine[Any, Any, None]
-]:
+def smtpd_mock_response_tls_not_available() -> (
+    Callable[[SMTPD], Coroutine[Any, Any, None]]
+):
     async def mock_tls_not_available(smtpd: SMTPD, *args: Any, **kwargs: Any) 
-> None:
         await smtpd.push("454 please login")
 
@@ -525,9 +525,9 @@
 
 
 @pytest.fixture(scope="session")
-def smtpd_mock_response_tls_ready_disconnect() -> Callable[
-    [SMTPD], Coroutine[Any, Any, None]
-]:
+def smtpd_mock_response_tls_ready_disconnect() -> (
+    Callable[[SMTPD], Coroutine[Any, Any, None]]
+):
     async def mock_response_tls_ready_disconnect(
         smtpd: SMTPD, *args: Any, **kwargs: Any
     ) -> None:
@@ -554,9 +554,9 @@
 
 
 @pytest.fixture(scope="session")
-def smtpd_mock_response_error_with_code_factory() -> Callable[
-    [str], Callable[[SMTPD], Coroutine[Any, Any, None]]
-]:
+def smtpd_mock_response_error_with_code_factory() -> (
+    Callable[[str], Callable[[SMTPD], Coroutine[Any, Any, None]]]
+):
     def factory(error_code: str) -> Callable[[SMTPD], Coroutine[Any, Any, 
None]]:
         async def mock_error_response(smtpd: SMTPD, *args: Any, **kwargs: Any) 
-> None:
             await smtpd.push(f"{error_code} error")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/tests/test_commands.py 
new/aiosmtplib-2.0.2/tests/test_commands.py
--- old/aiosmtplib-2.0.1/tests/test_commands.py 2023-01-07 19:55:21.948431000 
+0100
+++ new/aiosmtplib-2.0.2/tests/test_commands.py 2023-06-03 21:44:59.071944200 
+0200
@@ -198,7 +198,6 @@
     smtpd_mock_response_unavailable: Callable,
     monkeypatch: pytest.MonkeyPatch,
 ) -> None:
-
     monkeypatch.setattr(smtpd_class, "smtp_EHLO", 
smtpd_mock_response_unavailable)
 
     async with smtp_client:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aiosmtplib-2.0.1/tests/test_connect.py 
new/aiosmtplib-2.0.2/tests/test_connect.py
--- old/aiosmtplib-2.0.1/tests/test_connect.py  2023-01-07 19:55:21.948431000 
+0100
+++ new/aiosmtplib-2.0.2/tests/test_connect.py  2023-06-03 21:44:59.071944200 
+0200
@@ -279,7 +279,7 @@
 ) -> None:
     with pytest.raises(ZeroDivisionError):
         async with smtp_client:
-            1 / 0
+            1 / 0  # noqa
 
     assert received_commands[-1][0] == "QUIT"
 

Reply via email to