Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-elastic-transport for 
openSUSE:Factory checked in at 2022-10-01 17:42:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-elastic-transport (Old)
 and      /work/SRC/openSUSE:Factory/.python-elastic-transport.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-elastic-transport"

Sat Oct  1 17:42:14 2022 rev:2 rq:1006512 version:8.4.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-elastic-transport/python-elastic-transport.changes
        2022-08-19 17:59:09.128436576 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-elastic-transport.new.2275/python-elastic-transport.changes
      2022-10-01 17:42:20.637581320 +0200
@@ -1,0 +2,6 @@
+Tue Sep 27 19:15:33 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com>
+
+- Update to 8.4.0
+  * Added method for clients to use default ports for URL scheme. 
+
+-------------------------------------------------------------------

Old:
----
  elastic-transport-python-8.1.2.tar.gz

New:
----
  elastic-transport-python-8.4.0.tar.gz

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

Other differences:
------------------
++++++ python-elastic-transport.spec ++++++
--- /var/tmp/diff_new_pack.eq4dDe/_old  2022-10-01 17:42:21.129582218 +0200
+++ /var/tmp/diff_new_pack.eq4dDe/_new  2022-10-01 17:42:21.133582225 +0200
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python3-%{**}}
 %define skip_python2 1
 Name:           python-elastic-transport
-Version:        8.1.2
+Version:        8.4.0
 Release:        0
 Summary:        Transport classes and utilities shared among Python Elastic 
client libraries
 License:        Apache-2.0
@@ -28,8 +28,8 @@
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       (python-urllib3 >= 1.26.2 with python-urllib3 < 2)
 Requires:       python-certifi
+Requires:       (python-urllib3 >= 1.26.2 with python-urllib3 < 2)
 BuildArch:      noarch
 %if 0%{python_version_nodots} < 37
 Requires:       python-dataclasses

++++++ elastic-transport-python-8.1.2.tar.gz -> 
elastic-transport-python-8.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/elastic-transport-python-8.1.2/.github/workflows/backport.yml 
new/elastic-transport-python-8.4.0/.github/workflows/backport.yml
--- old/elastic-transport-python-8.1.2/.github/workflows/backport.yml   
1970-01-01 01:00:00.000000000 +0100
+++ new/elastic-transport-python-8.4.0/.github/workflows/backport.yml   
2022-08-25 16:46:42.000000000 +0200
@@ -0,0 +1,16 @@
+name: Backport
+on:
+  pull_request:
+    types:
+      - closed
+      - labeled
+
+jobs:
+  backport:
+    runs-on: ubuntu-latest
+    name: Backport
+    steps:
+      - name: Backport
+        uses: tibdex/backport@v1
+        with:
+          github_token: ${{ secrets.GITHUB_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/elastic-transport-python-8.1.2/.github/workflows/ci.yml 
new/elastic-transport-python-8.4.0/.github/workflows/ci.yml
--- old/elastic-transport-python-8.1.2/.github/workflows/ci.yml 2022-04-19 
20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/.github/workflows/ci.yml 2022-08-25 
16:46:42.000000000 +0200
@@ -39,7 +39,7 @@
     strategy:
       fail-fast: false
       matrix:
-        python-version: [3.6, 3.7, 3.8, 3.9, "3.10"]
+        python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11-dev"]
         experimental: [false]
 
     runs-on: ubuntu-latest
@@ -67,3 +67,10 @@
         run: "nox -rs test-${PYTHON_VERSION%-dev}"
         env:
           PYTHON_VERSION: ${{ matrix.python-version }}
+          # TEMPORARY for 3.11
+          # https://github.com/aio-libs/aiohttp/issues/6600
+          AIOHTTP_NO_EXTENSIONS: 1
+          # https://github.com/aio-libs/frozenlist/issues/285
+          FROZENLIST_NO_EXTENSIONS: 1
+          # https://github.com/aio-libs/yarl/issues/680
+          YARL_NO_EXTENSIONS: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/elastic-transport-python-8.1.2/CHANGELOG.md 
new/elastic-transport-python-8.4.0/CHANGELOG.md
--- old/elastic-transport-python-8.1.2/CHANGELOG.md     2022-04-19 
20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/CHANGELOG.md     2022-08-25 
16:46:42.000000000 +0200
@@ -1,5 +1,11 @@
 # Changelog
 
+## 8.1.2
+
+### Fixed
+
+- Fixed issue when connecting to an IP address with HTTPS enabled would result 
in a `ValueError` for a mismatch between `check_hostname` and `server_hostname`.
+
 ## 8.1.1
 
 ### Fixed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/elastic-transport-python-8.1.2/elastic_transport/_node/_http_requests.py 
new/elastic-transport-python-8.4.0/elastic_transport/_node/_http_requests.py
--- 
old/elastic-transport-python-8.1.2/elastic_transport/_node/_http_requests.py    
    2022-04-19 20:20:56.000000000 +0200
+++ 
new/elastic-transport-python-8.4.0/elastic_transport/_node/_http_requests.py    
    2022-08-25 16:46:42.000000000 +0200
@@ -132,7 +132,7 @@
                     self.session.verify = config.verify_certs
 
                 if not config.ssl_show_warn:
-                    urllib3.disable_warnings()  # type: ignore[no-untyped-call]
+                    urllib3.disable_warnings()
 
                 if (
                     config.scheme == "https"
@@ -210,7 +210,7 @@
             else self.config.request_timeout
         }
         send_kwargs.update(
-            self.session.merge_environment_settings(  # type: 
ignore[no-untyped-call]
+            self.session.merge_environment_settings(  # type: ignore[arg-type]
                 prepared_request.url, {}, None, None, None
             )
         )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/elastic-transport-python-8.1.2/elastic_transport/_node/_http_urllib3.py 
new/elastic-transport-python-8.4.0/elastic_transport/_node/_http_urllib3.py
--- old/elastic-transport-python-8.1.2/elastic_transport/_node/_http_urllib3.py 
2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/elastic_transport/_node/_http_urllib3.py 
2022-08-25 16:46:42.000000000 +0200
@@ -118,7 +118,7 @@
                             category=SecurityWarning,
                         )
                     else:
-                        urllib3.disable_warnings()  # type: 
ignore[no-untyped-call]
+                        urllib3.disable_warnings()
 
         self.pool = pool_class(
             config.host,
@@ -222,4 +222,4 @@
         """
         Explicitly closes connection
         """
-        self.pool.close()  # type: ignore[no-untyped-call]
+        self.pool.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/elastic-transport-python-8.1.2/elastic_transport/_version.py 
new/elastic-transport-python-8.4.0/elastic_transport/_version.py
--- old/elastic-transport-python-8.1.2/elastic_transport/_version.py    
2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/elastic_transport/_version.py    
2022-08-25 16:46:42.000000000 +0200
@@ -15,4 +15,4 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-__version__ = "8.1.2"
+__version__ = "8.4.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/elastic-transport-python-8.1.2/elastic_transport/client_utils.py 
new/elastic-transport-python-8.4.0/elastic_transport/client_utils.py
--- old/elastic-transport-python-8.1.2/elastic_transport/client_utils.py        
2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/elastic_transport/client_utils.py        
2022-08-25 16:46:42.000000000 +0200
@@ -181,23 +181,44 @@
     return f"Basic {base64.b64encode((b':'.join(to_bytes(x) for x in 
basic_auth))).decode()}"
 
 
-def url_to_node_config(url: str) -> NodeConfig:
+def url_to_node_config(
+    url: str, use_default_ports_for_scheme: bool = False
+) -> NodeConfig:
     """Constructs a :class:`elastic_transport.NodeConfig` instance from a URL.
     If a username/password are specified in the URL they are converted to an
     'Authorization' header.
+
+    :param url: URL to transform into a NodeConfig.
+    :param use_default_ports_for_scheme: If 'True' will resolve default ports 
for the given scheme.
     """
     try:
-        parsed_url = parse_url(url)  # type: ignore[no-untyped-call]
+        parsed_url = parse_url(url)
     except LocationParseError:
         raise ValueError(f"Could not parse URL {url!r}") from None
 
+    # Only fill in a default port for HTTP and HTTPS
+    # when we know the scheme is one of those two.
+    parsed_port: Optional[int] = parsed_url.port  # type: ignore[assignment]
+    if (
+        parsed_url.port is None
+        and parsed_url.scheme is not None
+        and use_default_ports_for_scheme is True
+    ):
+        if parsed_url.scheme == "https":
+            parsed_port = 443
+        elif parsed_url.scheme == "http":
+            parsed_port = 80
+
     if any(
         component in (None, "")
-        for component in (parsed_url.scheme, parsed_url.host, parsed_url.port)
+        for component in (parsed_url.scheme, parsed_url.host, parsed_port)
     ):
         raise ValueError(
             "URL must include a 'scheme', 'host', and 'port' component (ie 
'https://localhost:9200')"
         )
+    assert parsed_url.scheme is not None
+    assert parsed_url.host is not None
+    assert parsed_port is not None
 
     headers = {}
     if parsed_url.auth:
@@ -205,11 +226,15 @@
         headers["authorization"] = basic_auth_to_header((username, password))
 
     host = parsed_url.host.strip("[]")
-    path_prefix = "" if parsed_url.path in (None, "", "/") else parsed_url.path
+    if not parsed_url.path or parsed_url.path == "/":
+        path_prefix = ""
+    else:
+        path_prefix = parsed_url.path
+
     return NodeConfig(
         scheme=parsed_url.scheme,
         host=host,
-        port=parsed_url.port,
+        port=parsed_port,
         path_prefix=path_prefix,
         headers=headers,
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/elastic-transport-python-8.1.2/noxfile.py 
new/elastic-transport-python-8.4.0/noxfile.py
--- old/elastic-transport-python-8.1.2/noxfile.py       2022-04-19 
20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/noxfile.py       2022-08-25 
16:46:42.000000000 +0200
@@ -50,7 +50,7 @@
     session.run("mypy", "--strict", "--show-error-codes", "elastic_transport/")
 
 
-@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10"])
+@nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"])
 def test(session):
     session.install(".[develop]")
     session.run(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/elastic-transport-python-8.1.2/tests/test_client_utils.py 
new/elastic-transport-python-8.4.0/tests/test_client_utils.py
--- old/elastic-transport-python-8.1.2/tests/test_client_utils.py       
2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/tests/test_client_utils.py       
2022-08-25 16:46:42.000000000 +0200
@@ -198,6 +198,20 @@
     )
 
 
+@pytest.mark.parametrize(
+    ["url", "port"],
+    [
+        ("http://127.0.0.1";, 80),
+        ("http://[::1]";, 80),
+        ("HTTPS://localhost", 443),
+        ("https://localhost/url-prefix";, 443),
+    ],
+)
+def test_url_to_node_config_use_default_ports_for_scheme(url, port):
+    node_config = url_to_node_config(url, use_default_ports_for_scheme=True)
+    assert node_config.port == port
+
+
 def test_url_with_auth_into_authorization():
     node_config = url_to_node_config("http://localhost:9200";)
     assert node_config.headers == {}

Reply via email to