openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
June 2024
- 2 participants
- 1220 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-wcmatch for openSUSE:Factory checked in at 2024-06-10 17:38:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-wcmatch (Old)
and /work/SRC/openSUSE:Factory/.python-wcmatch.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-wcmatch"
Mon Jun 10 17:38:00 2024 rev:6 rq:1179650 version:8.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-wcmatch/python-wcmatch.changes 2024-03-13 22:23:00.278066650 +0100
+++ /work/SRC/openSUSE:Factory/.python-wcmatch.new.19518/python-wcmatch.changes 2024-06-10 17:38:16.988395461 +0200
@@ -1,0 +2,8 @@
+Mon Jun 10 08:27:22 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 8.5.2:
+ * Fix `pathlib` issue with inheritance on Python
+ versions greater than 3.12.
+ * Fix `EXTMATCH` case with `!(...)` patterns.
+
+-------------------------------------------------------------------
Old:
----
wcmatch-8.5.1.tar.gz
New:
----
wcmatch-8.5.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-wcmatch.spec ++++++
--- /var/tmp/diff_new_pack.ukGdkZ/_old 2024-06-10 17:38:17.736423133 +0200
+++ /var/tmp/diff_new_pack.ukGdkZ/_new 2024-06-10 17:38:17.736423133 +0200
@@ -19,7 +19,7 @@
%{?sle15_python_module_pythons}
%{?python_enable_dependency_generator}
Name: python-wcmatch
-Version: 8.5.1
+Version: 8.5.2
Release: 0
Summary: Wildcard/glob file name matcher
License: MIT
++++++ wcmatch-8.5.1.tar.gz -> wcmatch-8.5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wcmatch-8.5.1/PKG-INFO new/wcmatch-8.5.2/PKG-INFO
--- old/wcmatch-8.5.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/wcmatch-8.5.2/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.3
Name: wcmatch
-Version: 8.5.1
+Version: 8.5.2
Summary: Wildcard/glob file name matcher.
Project-URL: Homepage, https://github.com/facelessuser/wcmatch
Author-email: Isaac Muse <Isaac.Muse(a)gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wcmatch-8.5.1/docs/src/markdown/about/changelog.md new/wcmatch-8.5.2/docs/src/markdown/about/changelog.md
--- old/wcmatch-8.5.1/docs/src/markdown/about/changelog.md 2020-02-02 01:00:00.000000000 +0100
+++ new/wcmatch-8.5.2/docs/src/markdown/about/changelog.md 2020-02-02 01:00:00.000000000 +0100
@@ -1,5 +1,10 @@
# Changelog
+## 8.5.2
+
+- **FIX**: Fix `pathlib` issue with inheritance on Python versions greater than 3.12.
+- **FIX**: Fix `EXTMATCH` case with `!(...)` patterns.
+
## 8.5.1
- **FIX**: Fix issue with type check failure in `wcmatch.glob`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wcmatch-8.5.1/docs/src/markdown/wcmatch.md new/wcmatch-8.5.2/docs/src/markdown/wcmatch.md
--- old/wcmatch-8.5.1/docs/src/markdown/wcmatch.md 2020-02-02 01:00:00.000000000 +0100
+++ new/wcmatch-8.5.2/docs/src/markdown/wcmatch.md 2020-02-02 01:00:00.000000000 +0100
@@ -310,9 +310,9 @@
`HIDDEN` enables the crawling of hidden directories and will return hidden files if the wildcard pattern matches. This
enables not just dot files, but system hidden files as well.
-#### `wcmatch.SYMLINK, wcmatch.SL` {: #symlink}
+#### `wcmatch.SYMLINKS, wcmatch.SL` {: #symlinks}
-`SYMLINK` enables the crawling of symlink directories. By default, symlink directories are ignored during the file
+`SYMLINKS` enables the crawling of symlink directories. By default, symlink directories are ignored during the file
crawl.
#### `wcmatch.CASE, wcmatch.C` {: #case}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wcmatch-8.5.1/pyproject.toml new/wcmatch-8.5.2/pyproject.toml
--- old/wcmatch-8.5.1/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
+++ new/wcmatch-8.5.2/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
@@ -71,7 +71,7 @@
[tool.ruff]
line-length = 120
-select = [
+lint.select = [
"A", # flake8-builtins
"B", # flake8-bugbear
"D", # pydocstyle
@@ -87,7 +87,7 @@
"PERF" # Perflint
]
-ignore = [
+lint.ignore = [
"E741",
"D202",
"D401",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wcmatch-8.5.1/tests/test_fnmatch.py new/wcmatch-8.5.2/tests/test_fnmatch.py
--- old/wcmatch-8.5.1/tests/test_fnmatch.py 2020-02-02 01:00:00.000000000 +0100
+++ new/wcmatch-8.5.2/tests/test_fnmatch.py 2020-02-02 01:00:00.000000000 +0100
@@ -148,6 +148,10 @@
['!(test)', 'abc', True, fnmatch.D | fnmatch.E],
['!(test)', '..', False, fnmatch.D | fnmatch.E],
+ # Negation list followed by extended list
+ ['!(2)_@(foo|bar)', '1_foo', True, fnmatch.E],
+ ['!(!(2|3))_@(foo|bar)', '2_foo', True, fnmatch.E],
+
# POSIX style character classes
['[[:alnum:]]bc', 'zbc', True, 0],
['[[:alnum:]]bc', '1bc', True, 0],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wcmatch-8.5.1/wcmatch/__meta__.py new/wcmatch-8.5.2/wcmatch/__meta__.py
--- old/wcmatch-8.5.1/wcmatch/__meta__.py 2020-02-02 01:00:00.000000000 +0100
+++ new/wcmatch-8.5.2/wcmatch/__meta__.py 2020-02-02 01:00:00.000000000 +0100
@@ -194,5 +194,5 @@
return Version(major, minor, micro, release, pre, post, dev)
-__version_info__ = Version(8, 5, 1, "final")
+__version_info__ = Version(8, 5, 2, "final")
__version__ = __version_info__._get_canonical()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wcmatch-8.5.1/wcmatch/_wcparse.py new/wcmatch-8.5.2/wcmatch/_wcparse.py
--- old/wcmatch-8.5.1/wcmatch/_wcparse.py 2020-02-02 01:00:00.000000000 +0100
+++ new/wcmatch-8.5.2/wcmatch/_wcparse.py 2020-02-02 01:00:00.000000000 +0100
@@ -1435,7 +1435,8 @@
extended.append(self._restrict_extended_slash())
extended.append(self.sep)
elif c == "|":
- self.clean_up_inverse(extended, temp_inv_nest and self.inv_nest)
+ if self.inv_nest:
+ self.clean_up_inverse(extended, temp_inv_nest)
extended.append(c)
if temp_after_start:
self.set_start_dir()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wcmatch-8.5.1/wcmatch/pathlib.py new/wcmatch-8.5.2/wcmatch/pathlib.py
--- old/wcmatch-8.5.1/wcmatch/pathlib.py 2020-02-02 01:00:00.000000000 +0100
+++ new/wcmatch-8.5.2/wcmatch/pathlib.py 2020-02-02 01:00:00.000000000 +0100
@@ -1,7 +1,5 @@
"""Pathlib implementation that uses our own glob."""
from __future__ import annotations
-import ntpath
-import posixpath
import pathlib
import os
from . import glob
@@ -109,7 +107,7 @@
sep = ''
name = str(self)
if isinstance(self, Path) and name and self.is_dir():
- sep = self._flavour.sep
+ sep = self.parser.sep if util.PY313 else self._flavour.sep
return name + sep
@@ -227,17 +225,15 @@
yield from self.glob(patterns, flags=flags | _EXTMATCHBASE, limit=limit, exclude=exclude)
-class PurePosixPath(PurePath):
+class PurePosixPath(PurePath, pathlib.PurePosixPath):
"""Pure Posix path."""
- _flavour = pathlib._posix_flavour if not util.PY312 else posixpath # type: ignore[attr-defined]
__slots__ = ()
-class PureWindowsPath(PurePath):
+class PureWindowsPath(PurePath, pathlib.PureWindowsPath):
"""Pure Windows path."""
- _flavour = pathlib._windows_flavour if not util.PY312 else ntpath # type: ignore[attr-defined]
__slots__ = ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wcmatch-8.5.1/wcmatch/util.py new/wcmatch-8.5.2/wcmatch/util.py
--- old/wcmatch-8.5.1/wcmatch/util.py 2020-02-02 01:00:00.000000000 +0100
+++ new/wcmatch-8.5.2/wcmatch/util.py 2020-02-02 01:00:00.000000000 +0100
@@ -11,6 +11,7 @@
PY310 = (3, 10) <= sys.version_info
PY312 = (3, 12) <= sys.version_info
+PY313 = (3, 13) <= sys.version_info
UNICODE = 0
BYTES = 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-xmlsec for openSUSE:Factory checked in at 2024-06-10 17:37:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-xmlsec (Old)
and /work/SRC/openSUSE:Factory/.python-xmlsec.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-xmlsec"
Mon Jun 10 17:37:58 2024 rev:10 rq:1179647 version:1.3.14
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-xmlsec/python-xmlsec.changes 2023-11-02 20:22:32.502201935 +0100
+++ /work/SRC/openSUSE:Factory/.python-xmlsec.new.19518/python-xmlsec.changes 2024-06-10 17:38:14.488302977 +0200
@@ -1,0 +2,11 @@
+Mon Jun 10 08:20:00 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.3.14:
+ * XMLSec 1.3.x compliance
+ * Make DES/3DES/KW-3DES support conditional on DES availability
+ in XMLSec
+ * PKCS11 support
+ * Improved libxml2 version check
+ * Several test improvements
+
+-------------------------------------------------------------------
Old:
----
xmlsec-1.3.13.tar.gz
New:
----
xmlsec-1.3.14.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-xmlsec.spec ++++++
--- /var/tmp/diff_new_pack.SfT6bj/_old 2024-06-10 17:38:16.116363203 +0200
+++ /var/tmp/diff_new_pack.SfT6bj/_new 2024-06-10 17:38:16.124363499 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-xmlsec
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-xmlsec
-Version: 1.3.13
+Version: 1.3.14
Release: 0
Summary: Python bindings for the XML Security Library
License: MIT
++++++ xmlsec-1.3.13.tar.gz -> xmlsec-1.3.14.tar.gz ++++++
++++ 2086 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-tenacity for openSUSE:Factory checked in at 2024-06-10 17:37:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tenacity (Old)
and /work/SRC/openSUSE:Factory/.python-tenacity.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tenacity"
Mon Jun 10 17:37:51 2024 rev:21 rq:1179634 version:8.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tenacity/python-tenacity.changes 2023-11-27 22:45:15.333995907 +0100
+++ /work/SRC/openSUSE:Factory/.python-tenacity.new.19518/python-tenacity.changes 2024-06-10 17:38:07.000025967 +0200
@@ -1,0 +2,14 @@
+Mon Jun 10 07:49:32 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 8.3.0:
+ * Added a new stop function: `stop_before_delay`, which will
+ stop execution if the next sleep time would cause overall
+ delay to exceed the specified delay. Useful for use cases
+ where you have some upper bound on retry times that you must
+ not exceed, so returning before that timeout is preferable
+ than returning after that timeout.
+ * Preserve __defaults__ and __kwdefaults__ through retry
+ decorator
+- use PEP517 build
+
+-------------------------------------------------------------------
Old:
----
tenacity-8.2.3.tar.gz
New:
----
tenacity-8.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-tenacity.spec ++++++
--- /var/tmp/diff_new_pack.eFefZW/_old 2024-06-10 17:38:07.736053195 +0200
+++ /var/tmp/diff_new_pack.eFefZW/_new 2024-06-10 17:38:07.740053343 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-tenacity
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,19 +18,21 @@
%{?sle15_python_module_pythons}
Name: python-tenacity
-Version: 8.2.3
+Version: 8.3.0
Release: 0
Summary: Python module for retrying code until it succeeeds
License: Apache-2.0
Group: Development/Languages/Python
URL: https://github.com/jd/tenacity
Source: https://files.pythonhosted.org/packages/source/t/tenacity/tenacity-%{versio…
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module tornado}
BuildRequires: %{python_module typeguard}
BuildRequires: %{python_module typing-extensions}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Recommends: python-tornado
@@ -53,10 +55,10 @@
%setup -q -n tenacity-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -66,5 +68,5 @@
%license LICENSE
%doc README.rst
%{python_sitelib}/tenacity
-%{python_sitelib}/tenacity-*egg-info
+%{python_sitelib}/tenacity-%{version}.dist-info
++++++ tenacity-8.2.3.tar.gz -> tenacity-8.3.0.tar.gz ++++++
++++ 2075 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-slack-sdk for openSUSE:Factory checked in at 2024-06-10 17:37:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-slack-sdk (Old)
and /work/SRC/openSUSE:Factory/.python-slack-sdk.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-slack-sdk"
Mon Jun 10 17:37:49 2024 rev:11 rq:1179640 version:3.27.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-slack-sdk/python-slack-sdk.changes 2024-03-06 23:05:40.395798092 +0100
+++ /work/SRC/openSUSE:Factory/.python-slack-sdk.new.19518/python-slack-sdk.changes 2024-06-10 17:38:04.751942806 +0200
@@ -1,0 +2,9 @@
+Mon Jun 10 07:58:03 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 3.27.2:
+ * #1498 Fix #1496 Async client uses blocking call when
+ uploading file with v
+ * #1492 Fix #1468 `RichTextElement.elements` items are never
+ promoted to a proper Python object type
+
+-------------------------------------------------------------------
Old:
----
slack-sdk-3.27.1.tar.gz
New:
----
slack-sdk-3.27.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-slack-sdk.spec ++++++
--- /var/tmp/diff_new_pack.0xlxtT/_old 2024-06-10 17:38:05.763980243 +0200
+++ /var/tmp/diff_new_pack.0xlxtT/_new 2024-06-10 17:38:05.767980391 +0200
@@ -17,7 +17,7 @@
Name: python-slack-sdk
-Version: 3.27.1
+Version: 3.27.2
Release: 0
Summary: Python SDKs for the Slack API
License: MIT
++++++ slack-sdk-3.27.1.tar.gz -> slack-sdk-3.27.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/.github/dependabot.yml new/python-slack-sdk-3.27.2/.github/dependabot.yml
--- old/python-slack-sdk-3.27.1/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/python-slack-sdk-3.27.2/.github/dependabot.yml 2024-05-16 04:54:21.000000000 +0200
@@ -0,0 +1,14 @@
+# Please see the documentation for all configuration options:
+# https://docs.github.com/code-security/dependabot/dependabot-version-updates…
+
+version: 2
+updates:
+ - package-ecosystem: "pip"
+ directory: "/"
+ schedule:
+ interval: "monthly"
+ open-pull-requests-limit: 5
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "monthly"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/.github/workflows/ci-build.yml new/python-slack-sdk-3.27.2/.github/workflows/ci-build.yml
--- old/python-slack-sdk-3.27.1/.github/workflows/ci-build.yml 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/.github/workflows/ci-build.yml 2024-05-16 04:54:21.000000000 +0200
@@ -26,11 +26,12 @@
env:
PYTHON_SLACK_SDK_MOCK_SERVER_MODE: 'threading'
CI_LARGE_SOCKET_MODE_PAYLOAD_TESTING_DISABLED: '1'
+ CI_UNSTABLE_TESTS_SKIP_ENABLED: '1'
FORCE_COLOR: '1'
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
@@ -53,7 +54,7 @@
python setup.py unit_tests --test-target tests/slack_sdk/oauth/state_store/test_sqlalchemy.py
- name: Run codecov (only 3.9)
if: startsWith(matrix.python-version, '3.9')
- uses: codecov/codecov-action@v3
+ uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
# python setup.py validate generates the coverage file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/.github/workflows/pytype.yml new/python-slack-sdk-3.27.2/.github/workflows/pytype.yml
--- old/python-slack-sdk-3.27.1/.github/workflows/pytype.yml 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/.github/workflows/pytype.yml 2024-05-16 04:54:21.000000000 +0200
@@ -13,9 +13,9 @@
matrix:
python-version: ['3.9']
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/.github/workflows/triage-issues.yml new/python-slack-sdk-3.27.2/.github/workflows/triage-issues.yml
--- old/python-slack-sdk-3.27.1/.github/workflows/triage-issues.yml 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/.github/workflows/triage-issues.yml 2024-05-16 04:54:21.000000000 +0200
@@ -17,7 +17,7 @@
stale:
runs-on: ubuntu-latest
steps:
- - uses: actions/stale(a)v4.0.0
+ - uses: actions/stale(a)v9.0.0
with:
days-before-issue-stale: 30
days-before-issue-close: 10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/index.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/index.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/index.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/index.html 2024-05-16 04:54:21.000000000 +0200
@@ -3814,7 +3814,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -3822,9 +3822,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
@@ -10963,7 +10963,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -10971,9 +10971,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/models/blocks/block_elements.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/models/blocks/block_elements.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/models/blocks/block_elements.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/models/blocks/block_elements.html 2024-05-16 04:54:21.000000000 +0200
@@ -1896,7 +1896,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
self.style = style
self.indent = indent
self.offset = offset
@@ -1919,7 +1919,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
self.border = border
@@ -1938,7 +1938,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
class RichTextSectionElement(RichTextElement):
@@ -1956,7 +1956,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
class RichTextElementParts:
@@ -5350,7 +5350,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
self.style = style
self.indent = indent
self.offset = offset
@@ -5425,7 +5425,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
self.border = border</code></pre>
</details>
<h3>Ancestors</h3>
@@ -5496,7 +5496,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements</code></pre>
+ self.elements = BlockElement.parse_all(elements)</code></pre>
</details>
<h3>Ancestors</h3>
<ul class="hlist">
@@ -5566,7 +5566,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements</code></pre>
+ self.elements = BlockElement.parse_all(elements)</code></pre>
</details>
<h3>Ancestors</h3>
<ul class="hlist">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/models/blocks/index.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/models/blocks/index.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/models/blocks/index.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/models/blocks/index.html 2024-05-16 04:54:21.000000000 +0200
@@ -5464,7 +5464,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
self.style = style
self.indent = indent
self.offset = offset
@@ -5539,7 +5539,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
self.border = border</code></pre>
</details>
<h3>Ancestors</h3>
@@ -5610,7 +5610,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements</code></pre>
+ self.elements = BlockElement.parse_all(elements)</code></pre>
</details>
<h3>Ancestors</h3>
<ul class="hlist">
@@ -5680,7 +5680,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements</code></pre>
+ self.elements = BlockElement.parse_all(elements)</code></pre>
</details>
<h3>Ancestors</h3>
<ul class="hlist">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/version.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/version.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/version.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/version.html 2024-05-16 04:54:21.000000000 +0200
@@ -28,7 +28,7 @@
<span>Expand source code</span>
</summary>
<pre><code class="python">"""Check the latest version at https://pypi.org/project/slack-sdk/"""
-__version__ = "3.27.1"</code></pre>
+__version__ = "3.27.2"</code></pre>
</details>
</section>
<section>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/async_base_client.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/async_base_client.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/async_base_client.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/async_base_client.html 2024-05-16 04:54:21.000000000 +0200
@@ -39,6 +39,7 @@
) # type: ignore
from .async_slack_response import AsyncSlackResponse
from .deprecation import show_deprecation_warning_if_any
+from .file_upload_v2_result import FileUploadV2Result
from .internal_utils import (
convert_bool_to_0_or_1,
_build_req_args,
@@ -241,6 +242,31 @@
api_url=api_url,
req_args=req_args,
retry_handlers=self.retry_handlers,
+ )
+
+ async def _upload_file(
+ self,
+ *,
+ url: str,
+ data: bytes,
+ logger: logging.Logger,
+ timeout: int,
+ proxy: Optional[str],
+ ssl: Optional[SSLContext],
+ ) -> FileUploadV2Result:
+ """Upload a file using the issued upload URL"""
+ result = await _request_with_session(
+ current_session=self.session,
+ timeout=timeout,
+ logger=logger,
+ http_verb="POST",
+ api_url=url,
+ req_args={"data": data, "proxy": proxy, "ssl": ssl},
+ retry_handlers=self.retry_handlers,
+ )
+ return FileUploadV2Result(
+ status=result.get("status_code"),
+ body=result.get("body"),
)</code></pre>
</details>
</section>
@@ -453,6 +479,31 @@
api_url=api_url,
req_args=req_args,
retry_handlers=self.retry_handlers,
+ )
+
+ async def _upload_file(
+ self,
+ *,
+ url: str,
+ data: bytes,
+ logger: logging.Logger,
+ timeout: int,
+ proxy: Optional[str],
+ ssl: Optional[SSLContext],
+ ) -> FileUploadV2Result:
+ """Upload a file using the issued upload URL"""
+ result = await _request_with_session(
+ current_session=self.session,
+ timeout=timeout,
+ logger=logger,
+ http_verb="POST",
+ api_url=url,
+ req_args={"data": data, "proxy": proxy, "ssl": ssl},
+ retry_handlers=self.retry_handlers,
+ )
+ return FileUploadV2Result(
+ status=result.get("status_code"),
+ body=result.get("body"),
)</code></pre>
</details>
<h3>Subclasses</h3>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/async_client.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/async_client.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/async_client.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/async_client.html 2024-05-16 04:54:21.000000000 +0200
@@ -52,7 +52,6 @@
_warn_if_text_or_attachment_fallback_is_missing,
_remove_none_values,
_to_v2_file_upload_item,
- _upload_file_via_v2_url,
_validate_for_legacy_client,
_print_files_upload_v2_suggestion,
)
@@ -3613,7 +3612,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = await self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -3621,9 +3620,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
@@ -8781,7 +8780,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = await self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -8789,9 +8788,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
@@ -15930,7 +15929,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = await self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -15938,9 +15937,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/async_internal_utils.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/async_internal_utils.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/async_internal_utils.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/async_internal_utils.html 2024-05-16 04:54:21.000000000 +0200
@@ -136,7 +136,7 @@
try:
async with session.request(http_verb, api_url, **req_args) as res:
- data: Union[dict, bytes] = {}
+ data: Union[dict, bytes, str] = {}
if res.content_type == "application/gzip":
# admin.analytics.getFile
data = await res.read()
@@ -145,6 +145,14 @@
headers=res.headers,
data=data,
)
+ elif res.content_type == "text/plain":
+ # https://files.slack.com/upload/v1/...
+ data = await res.text()
+ retry_response = RetryHttpResponse(
+ status_code=res.status,
+ headers=res.headers,
+ data=data,
+ )
else:
try:
data = await res.json()
@@ -171,7 +179,9 @@
)
if logger.level <= logging.DEBUG:
- body = data if isinstance(data, dict) else "(binary)"
+ body = "(binary)"
+ if isinstance(data, dict) or isinstance(data, str):
+ body = data
logger.debug(
"Received the following response - "
f"status: {res.status}, "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/base_client.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/base_client.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/base_client.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/base_client.html 2024-05-16 04:54:21.000000000 +0200
@@ -50,12 +50,14 @@
from slack_sdk.errors import SlackRequestError
from .deprecation import show_deprecation_warning_if_any
+from .file_upload_v2_result import FileUploadV2Result
from .internal_utils import (
convert_bool_to_0_or_1,
get_user_agent,
_get_url,
_build_req_args,
_build_unexpected_body_error_message,
+ _upload_file_via_v2_url,
)
from .slack_response import SlackResponse
from slack_sdk.http_retry import default_retry_handlers
@@ -589,10 +591,34 @@
if has_json:
headers.update({"Content-Type": "application/json;charset=utf-8"})
if has_files:
- # will be set afterwards
+ # will be set afterward
headers.pop("Content-Type", None)
return headers
+ def _upload_file(
+ self,
+ *,
+ url: str,
+ data: bytes,
+ logger: logging.Logger,
+ timeout: int,
+ proxy: Optional[str],
+ ssl: Optional[SSLContext],
+ ) -> FileUploadV2Result:
+ """Upload a file using the issued upload URL"""
+ result = _upload_file_via_v2_url(
+ url=url,
+ data=data,
+ logger=logger,
+ timeout=timeout,
+ proxy=proxy,
+ ssl=ssl,
+ )
+ return FileUploadV2Result(
+ status=result.get("status"),
+ body=result.get("body"),
+ )
+
# =================================================================
@staticmethod
@@ -1173,10 +1199,34 @@
if has_json:
headers.update({"Content-Type": "application/json;charset=utf-8"})
if has_files:
- # will be set afterwards
+ # will be set afterward
headers.pop("Content-Type", None)
return headers
+ def _upload_file(
+ self,
+ *,
+ url: str,
+ data: bytes,
+ logger: logging.Logger,
+ timeout: int,
+ proxy: Optional[str],
+ ssl: Optional[SSLContext],
+ ) -> FileUploadV2Result:
+ """Upload a file using the issued upload URL"""
+ result = _upload_file_via_v2_url(
+ url=url,
+ data=data,
+ logger=logger,
+ timeout=timeout,
+ proxy=proxy,
+ ssl=ssl,
+ )
+ return FileUploadV2Result(
+ status=result.get("status"),
+ body=result.get("body"),
+ )
+
# =================================================================
@staticmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/client.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/client.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/client.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/client.html 2024-05-16 04:54:21.000000000 +0200
@@ -43,7 +43,6 @@
_warn_if_text_or_attachment_fallback_is_missing,
_remove_none_values,
_to_v2_file_upload_item,
- _upload_file_via_v2_url,
_validate_for_legacy_client,
_print_files_upload_v2_suggestion,
)
@@ -3604,7 +3603,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -3612,9 +3611,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
@@ -8772,7 +8771,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -8780,9 +8779,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
@@ -15921,7 +15920,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -15929,9 +15928,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/file_upload_v2_result.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/file_upload_v2_result.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/file_upload_v2_result.html 1970-01-01 01:00:00.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/file_upload_v2_result.html 2024-05-16 04:54:21.000000000 +0200
@@ -0,0 +1,109 @@
+<!doctype html>
+<html lang="en">
+<head>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" />
+<meta name="generator" content="pdoc 0.10.0" />
+<title>slack_sdk.web.file_upload_v2_result API documentation</title>
+<meta name="description" content="" />
+<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/sanitize.mi…" integrity="sha256-PK9q560IAAa6WVRRh76LtCaI8pjTJ2z11v0miyNNjrs=" crossorigin>
+<link rel="preload stylesheet" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/11.0.1/typography.…" integrity="sha256-7l/o7C8jubJiy74VsKTidCy1yBkRtiUGbVkYBylBqUg=" crossorigin>
+<link rel="stylesheet preload" as="style" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/github.mi…" crossorigin>
+<style>:root{--highlight-color:#fe9}.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}#sidebar > *:last-child{margin-bottom:2cm}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}h1:target,h2:target,h3:target,h4:target,h5:target,h6:target{background:var(--highlight-color);padding:.2em 0}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}
h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{margin-top:.6em;font-weight:bold}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}dt:target .name{background:var(--highlight-color)}.name > span
:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}td{padding:0 .5em}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.vers
ionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style>
+<style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%;height:100vh;overflow:auto;position:sticky;top:0}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style>
+<style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style>
+<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/highlight.min.js" integrity="sha256-Uv3H6lx7dJmRfRvH8TH6kJD1TSK1aFcwgx+mdg3epi8=" crossorigin></script>
+<script>window.addEventListener('DOMContentLoaded', () => hljs.initHighlighting())</script>
+</head>
+<body>
+<main>
+<article id="content">
+<header>
+<h1 class="title">Module <code>slack_sdk.web.file_upload_v2_result</code></h1>
+</header>
+<section id="section-intro">
+<details class="source">
+<summary>
+<span>Expand source code</span>
+</summary>
+<pre><code class="python">class FileUploadV2Result:
+ status: int
+ body: str
+
+ def __init__(self, status: int, body: str):
+ self.status = status
+ self.body = body</code></pre>
+</details>
+</section>
+<section>
+</section>
+<section>
+</section>
+<section>
+</section>
+<section>
+<h2 class="section-title" id="header-classes">Classes</h2>
+<dl>
+<dt id="slack_sdk.web.file_upload_v2_result.FileUploadV2Result"><code class="flex name class">
+<span>class <span class="ident">FileUploadV2Result</span></span>
+<span>(</span><span>status: int, body: str)</span>
+</code></dt>
+<dd>
+<div class="desc"></div>
+<details class="source">
+<summary>
+<span>Expand source code</span>
+</summary>
+<pre><code class="python">class FileUploadV2Result:
+ status: int
+ body: str
+
+ def __init__(self, status: int, body: str):
+ self.status = status
+ self.body = body</code></pre>
+</details>
+<h3>Class variables</h3>
+<dl>
+<dt id="slack_sdk.web.file_upload_v2_result.FileUploadV2Result.body"><code class="name">var <span class="ident">body</span> : str</code></dt>
+<dd>
+<div class="desc"></div>
+</dd>
+<dt id="slack_sdk.web.file_upload_v2_result.FileUploadV2Result.status"><code class="name">var <span class="ident">status</span> : int</code></dt>
+<dd>
+<div class="desc"></div>
+</dd>
+</dl>
+</dd>
+</dl>
+</section>
+</article>
+<nav id="sidebar">
+<h1>Index</h1>
+<div class="toc">
+<ul></ul>
+</div>
+<ul id="index">
+<li><h3>Super-module</h3>
+<ul>
+<li><code><a title="slack_sdk.web" href="index.html">slack_sdk.web</a></code></li>
+</ul>
+</li>
+<li><h3><a href="#header-classes">Classes</a></h3>
+<ul>
+<li>
+<h4><code><a title="slack_sdk.web.file_upload_v2_result.FileUploadV2Result" href="#slack_sdk.web.file_upload_v2_result.FileUploadV2Result">FileUploadV2Result</a></code></h4>
+<ul class="">
+<li><code><a title="slack_sdk.web.file_upload_v2_result.FileUploadV2Result.body" href="#slack_sdk.web.file_upload_v2_result.FileUploadV2Result.body">body</a></code></li>
+<li><code><a title="slack_sdk.web.file_upload_v2_result.FileUploadV2Result.status" href="#slack_sdk.web.file_upload_v2_result.FileUploadV2Result.status">status</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</nav>
+</main>
+<footer id="footer">
+<p>Generated by <a href="https://pdoc3.github.io/pdoc" title="pdoc: Python API documentation generator"><cite>pdoc</cite> 0.10.0</a>.</p>
+</footer>
+</body>
+</html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/index.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/index.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/index.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/index.html 2024-05-16 04:54:21.000000000 +0200
@@ -71,6 +71,10 @@
<dd>
<div class="desc"></div>
</dd>
+<dt><code class="name"><a title="slack_sdk.web.file_upload_v2_result" href="file_upload_v2_result.html">slack_sdk.web.file_upload_v2_result</a></code></dt>
+<dd>
+<div class="desc"></div>
+</dd>
<dt><code class="name"><a title="slack_sdk.web.internal_utils" href="internal_utils.html">slack_sdk.web.internal_utils</a></code></dt>
<dd>
<div class="desc"></div>
@@ -4025,7 +4029,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -4033,9 +4037,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
@@ -11174,7 +11178,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -11182,9 +11186,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
@@ -13663,6 +13667,7 @@
<li><code><a title="slack_sdk.web.base_client" href="base_client.html">slack_sdk.web.base_client</a></code></li>
<li><code><a title="slack_sdk.web.client" href="client.html">slack_sdk.web.client</a></code></li>
<li><code><a title="slack_sdk.web.deprecation" href="deprecation.html">slack_sdk.web.deprecation</a></code></li>
+<li><code><a title="slack_sdk.web.file_upload_v2_result" href="file_upload_v2_result.html">slack_sdk.web.file_upload_v2_result</a></code></li>
<li><code><a title="slack_sdk.web.internal_utils" href="internal_utils.html">slack_sdk.web.internal_utils</a></code></li>
<li><code><a title="slack_sdk.web.legacy_base_client" href="legacy_base_client.html">slack_sdk.web.legacy_base_client</a></code></li>
<li><code><a title="slack_sdk.web.legacy_client" href="legacy_client.html">slack_sdk.web.legacy_client</a></code></li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/internal_utils.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/internal_utils.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/internal_utils.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/internal_utils.html 2024-05-16 04:54:21.000000000 +0200
@@ -405,6 +405,9 @@
else:
raise SlackRequestError(f"Invalid proxy detected: {proxy} must be a str value")
+ if logger.level <= logging.DEBUG:
+ logger.debug(f"Sending a request: POST {url}")
+
resp: Optional[HTTPResponse] = None
req: Request = Request(method="POST", url=url, data=data, headers={})
if opener:
@@ -416,8 +419,10 @@
body: str = resp.read().decode(charset) # read the response body here
if logger.level <= logging.DEBUG:
message = (
- "Received the following response - ",
- f"status: {resp.status}, " f"headers: {dict(resp.headers)}, " f"body: {body}",
+ "Received the following response - "
+ f"status: {resp.status}, "
+ f"headers: {dict(resp.headers)}, "
+ f"body: {body}"
)
logger.debug(message)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/legacy_base_client.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/legacy_base_client.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/legacy_base_client.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/legacy_base_client.html 2024-05-16 04:54:21.000000000 +0200
@@ -55,12 +55,14 @@
from slack_sdk.errors import SlackRequestError
from .async_internal_utils import _files_to_data, _get_event_loop, _request_with_session
from .deprecation import show_deprecation_warning_if_any
+from .file_upload_v2_result import FileUploadV2Result
from .internal_utils import (
convert_bool_to_0_or_1,
get_user_agent,
_get_url,
_build_req_args,
_build_unexpected_body_error_message,
+ _upload_file_via_v2_url,
)
from .legacy_slack_response import LegacySlackResponse as SlackResponse
from ..proxy_env_variable_loader import load_http_proxy_from_env
@@ -550,10 +552,33 @@
if has_json:
headers.update({"Content-Type": "application/json;charset=utf-8"})
if has_files:
- # will be set afterwards
+ # will be set afterward
headers.pop("Content-Type", None)
return headers
+ def _upload_file(
+ self,
+ *,
+ url: str,
+ data: bytes,
+ logger: logging.Logger,
+ timeout: int,
+ proxy: Optional[str],
+ ssl: Optional[SSLContext],
+ ) -> FileUploadV2Result:
+ result = _upload_file_via_v2_url(
+ url=url,
+ data=data,
+ logger=logger,
+ timeout=timeout,
+ proxy=proxy,
+ ssl=ssl,
+ )
+ return FileUploadV2Result(
+ status=result.get("status"),
+ body=result.get("body"),
+ )
+
# =================================================================
@staticmethod
@@ -1091,10 +1116,33 @@
if has_json:
headers.update({"Content-Type": "application/json;charset=utf-8"})
if has_files:
- # will be set afterwards
+ # will be set afterward
headers.pop("Content-Type", None)
return headers
+ def _upload_file(
+ self,
+ *,
+ url: str,
+ data: bytes,
+ logger: logging.Logger,
+ timeout: int,
+ proxy: Optional[str],
+ ssl: Optional[SSLContext],
+ ) -> FileUploadV2Result:
+ result = _upload_file_via_v2_url(
+ url=url,
+ data=data,
+ logger=logger,
+ timeout=timeout,
+ proxy=proxy,
+ ssl=ssl,
+ )
+ return FileUploadV2Result(
+ status=result.get("status"),
+ body=result.get("body"),
+ )
+
# =================================================================
@staticmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/legacy_client.html new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/legacy_client.html
--- old/python-slack-sdk-3.27.1/docs/api-docs/slack_sdk/web/legacy_client.html 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/docs/api-docs/slack_sdk/web/legacy_client.html 2024-05-16 04:54:21.000000000 +0200
@@ -53,7 +53,6 @@
_warn_if_text_or_attachment_fallback_is_missing,
_remove_none_values,
_to_v2_file_upload_item,
- _upload_file_via_v2_url,
_validate_for_legacy_client,
_print_files_upload_v2_suggestion,
)
@@ -3614,7 +3613,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -3622,9 +3621,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
@@ -8782,7 +8781,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -8790,9 +8789,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
@@ -15931,7 +15930,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -15939,9 +15938,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/requirements/optional.txt new/python-slack-sdk-3.27.2/requirements/optional.txt
--- old/python-slack-sdk-3.27.1/requirements/optional.txt 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/requirements/optional.txt 2024-05-16 04:54:21.000000000 +0200
@@ -12,6 +12,5 @@
SQLAlchemy>=1.4,<3
# Socket Mode
# websockets 9 is not compatible with Python 3.10
-websockets>=9.1,<10; python_version=="3.6"
-websockets>=10,<11; python_version>"3.6"
+websockets>=9.1,<13
websocket-client>=1,<2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/requirements/testing.txt new/python-slack-sdk-3.27.2/requirements/testing.txt
--- old/python-slack-sdk-3.27.1/requirements/testing.txt 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/requirements/testing.txt 2024-05-16 04:54:21.000000000 +0200
@@ -1,11 +1,11 @@
# pip install -r requirements/testing.txt
aiohttp<4 # used for a WebSocket server mock
-pytest>=7.0.1,<8
+pytest>=7.0.1,<9
pytest-asyncio<1 # for async
-pytest-cov>=2,<3
+pytest-cov>=2,<6
# while flake8 5.x have issues with Python 3.12, flake8 6.x requires Python >= 3.8.1,
# so 5.x should be kept in order to stay compatible with Python 3.6/3.7
-flake8>=5.0.4,<7
+flake8>=5.0.4,<8
# Don't change this version without running CI builds;
# The latest version may not be available for older Python runtime
black>=22.8.0; python_version=="3.6"
@@ -15,6 +15,4 @@
# used only under slack_sdk/*_store
boto3<=2
# For AWS tests
-moto==4.0.13; python_version=="3.6"
-moto<5; python_version=="3.7"
-moto<6
+moto>=4.0.13,<6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/setup.py new/python-slack-sdk-3.27.2/setup.py
--- old/python-slack-sdk-3.27.1/setup.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/setup.py 2024-05-16 04:54:21.000000000 +0200
@@ -79,6 +79,11 @@
async_source,
)
async_source = re.sub(
+ r" self._upload_file\(",
+ " await self._upload_file(",
+ async_source,
+ )
+ async_source = re.sub(
r" self.files_completeUploadExternal\(",
" await self.files_completeUploadExternal(",
async_source,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/models/blocks/block_elements.py new/python-slack-sdk-3.27.2/slack_sdk/models/blocks/block_elements.py
--- old/python-slack-sdk-3.27.1/slack_sdk/models/blocks/block_elements.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/models/blocks/block_elements.py 2024-05-16 04:54:21.000000000 +0200
@@ -1868,7 +1868,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
self.style = style
self.indent = indent
self.offset = offset
@@ -1891,7 +1891,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
self.border = border
@@ -1910,7 +1910,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
class RichTextSectionElement(RichTextElement):
@@ -1928,7 +1928,7 @@
):
super().__init__(type=self.type)
show_unknown_key_warning(self, others)
- self.elements = elements
+ self.elements = BlockElement.parse_all(elements)
class RichTextElementParts:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/version.py new/python-slack-sdk-3.27.2/slack_sdk/version.py
--- old/python-slack-sdk-3.27.1/slack_sdk/version.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/version.py 2024-05-16 04:54:21.000000000 +0200
@@ -1,2 +1,2 @@
"""Check the latest version at https://pypi.org/project/slack-sdk/"""
-__version__ = "3.27.1"
+__version__ = "3.27.2"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/web/async_base_client.py new/python-slack-sdk-3.27.2/slack_sdk/web/async_base_client.py
--- old/python-slack-sdk-3.27.1/slack_sdk/web/async_base_client.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/web/async_base_client.py 2024-05-16 04:54:21.000000000 +0200
@@ -11,6 +11,7 @@
) # type: ignore
from .async_slack_response import AsyncSlackResponse
from .deprecation import show_deprecation_warning_if_any
+from .file_upload_v2_result import FileUploadV2Result
from .internal_utils import (
convert_bool_to_0_or_1,
_build_req_args,
@@ -214,3 +215,28 @@
req_args=req_args,
retry_handlers=self.retry_handlers,
)
+
+ async def _upload_file(
+ self,
+ *,
+ url: str,
+ data: bytes,
+ logger: logging.Logger,
+ timeout: int,
+ proxy: Optional[str],
+ ssl: Optional[SSLContext],
+ ) -> FileUploadV2Result:
+ """Upload a file using the issued upload URL"""
+ result = await _request_with_session(
+ current_session=self.session,
+ timeout=timeout,
+ logger=logger,
+ http_verb="POST",
+ api_url=url,
+ req_args={"data": data, "proxy": proxy, "ssl": ssl},
+ retry_handlers=self.retry_handlers,
+ )
+ return FileUploadV2Result(
+ status=result.get("status_code"),
+ body=result.get("body"),
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/web/async_client.py new/python-slack-sdk-3.27.2/slack_sdk/web/async_client.py
--- old/python-slack-sdk-3.27.1/slack_sdk/web/async_client.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/web/async_client.py 2024-05-16 04:54:21.000000000 +0200
@@ -23,7 +23,6 @@
_warn_if_text_or_attachment_fallback_is_missing,
_remove_none_values,
_to_v2_file_upload_item,
- _upload_file_via_v2_url,
_validate_for_legacy_client,
_print_files_upload_v2_suggestion,
)
@@ -3584,7 +3583,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = await self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -3592,9 +3591,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/web/async_internal_utils.py new/python-slack-sdk-3.27.2/slack_sdk/web/async_internal_utils.py
--- old/python-slack-sdk-3.27.1/slack_sdk/web/async_internal_utils.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/web/async_internal_utils.py 2024-05-16 04:54:21.000000000 +0200
@@ -108,7 +108,7 @@
try:
async with session.request(http_verb, api_url, **req_args) as res:
- data: Union[dict, bytes] = {}
+ data: Union[dict, bytes, str] = {}
if res.content_type == "application/gzip":
# admin.analytics.getFile
data = await res.read()
@@ -117,6 +117,14 @@
headers=res.headers,
data=data,
)
+ elif res.content_type == "text/plain":
+ # https://files.slack.com/upload/v1/...
+ data = await res.text()
+ retry_response = RetryHttpResponse(
+ status_code=res.status,
+ headers=res.headers,
+ data=data,
+ )
else:
try:
data = await res.json()
@@ -143,7 +151,9 @@
)
if logger.level <= logging.DEBUG:
- body = data if isinstance(data, dict) else "(binary)"
+ body = "(binary)"
+ if isinstance(data, dict) or isinstance(data, str):
+ body = data
logger.debug(
"Received the following response - "
f"status: {res.status}, "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/web/base_client.py new/python-slack-sdk-3.27.2/slack_sdk/web/base_client.py
--- old/python-slack-sdk-3.27.1/slack_sdk/web/base_client.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/web/base_client.py 2024-05-16 04:54:21.000000000 +0200
@@ -21,12 +21,14 @@
from slack_sdk.errors import SlackRequestError
from .deprecation import show_deprecation_warning_if_any
+from .file_upload_v2_result import FileUploadV2Result
from .internal_utils import (
convert_bool_to_0_or_1,
get_user_agent,
_get_url,
_build_req_args,
_build_unexpected_body_error_message,
+ _upload_file_via_v2_url,
)
from .slack_response import SlackResponse
from slack_sdk.http_retry import default_retry_handlers
@@ -560,10 +562,34 @@
if has_json:
headers.update({"Content-Type": "application/json;charset=utf-8"})
if has_files:
- # will be set afterwards
+ # will be set afterward
headers.pop("Content-Type", None)
return headers
+ def _upload_file(
+ self,
+ *,
+ url: str,
+ data: bytes,
+ logger: logging.Logger,
+ timeout: int,
+ proxy: Optional[str],
+ ssl: Optional[SSLContext],
+ ) -> FileUploadV2Result:
+ """Upload a file using the issued upload URL"""
+ result = _upload_file_via_v2_url(
+ url=url,
+ data=data,
+ logger=logger,
+ timeout=timeout,
+ proxy=proxy,
+ ssl=ssl,
+ )
+ return FileUploadV2Result(
+ status=result.get("status"),
+ body=result.get("body"),
+ )
+
# =================================================================
@staticmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/web/client.py new/python-slack-sdk-3.27.2/slack_sdk/web/client.py
--- old/python-slack-sdk-3.27.1/slack_sdk/web/client.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/web/client.py 2024-05-16 04:54:21.000000000 +0200
@@ -14,7 +14,6 @@
_warn_if_text_or_attachment_fallback_is_missing,
_remove_none_values,
_to_v2_file_upload_item,
- _upload_file_via_v2_url,
_validate_for_legacy_client,
_print_files_upload_v2_suggestion,
)
@@ -3575,7 +3574,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -3583,9 +3582,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/web/file_upload_v2_result.py new/python-slack-sdk-3.27.2/slack_sdk/web/file_upload_v2_result.py
--- old/python-slack-sdk-3.27.1/slack_sdk/web/file_upload_v2_result.py 1970-01-01 01:00:00.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/web/file_upload_v2_result.py 2024-05-16 04:54:21.000000000 +0200
@@ -0,0 +1,7 @@
+class FileUploadV2Result:
+ status: int
+ body: str
+
+ def __init__(self, status: int, body: str):
+ self.status = status
+ self.body = body
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/web/internal_utils.py new/python-slack-sdk-3.27.2/slack_sdk/web/internal_utils.py
--- old/python-slack-sdk-3.27.1/slack_sdk/web/internal_utils.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/web/internal_utils.py 2024-05-16 04:54:21.000000000 +0200
@@ -377,6 +377,9 @@
else:
raise SlackRequestError(f"Invalid proxy detected: {proxy} must be a str value")
+ if logger.level <= logging.DEBUG:
+ logger.debug(f"Sending a request: POST {url}")
+
resp: Optional[HTTPResponse] = None
req: Request = Request(method="POST", url=url, data=data, headers={})
if opener:
@@ -388,8 +391,10 @@
body: str = resp.read().decode(charset) # read the response body here
if logger.level <= logging.DEBUG:
message = (
- "Received the following response - ",
- f"status: {resp.status}, " f"headers: {dict(resp.headers)}, " f"body: {body}",
+ "Received the following response - "
+ f"status: {resp.status}, "
+ f"headers: {dict(resp.headers)}, "
+ f"body: {body}"
)
logger.debug(message)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/web/legacy_base_client.py new/python-slack-sdk-3.27.2/slack_sdk/web/legacy_base_client.py
--- old/python-slack-sdk-3.27.1/slack_sdk/web/legacy_base_client.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/web/legacy_base_client.py 2024-05-16 04:54:21.000000000 +0200
@@ -26,12 +26,14 @@
from slack_sdk.errors import SlackRequestError
from .async_internal_utils import _files_to_data, _get_event_loop, _request_with_session
from .deprecation import show_deprecation_warning_if_any
+from .file_upload_v2_result import FileUploadV2Result
from .internal_utils import (
convert_bool_to_0_or_1,
get_user_agent,
_get_url,
_build_req_args,
_build_unexpected_body_error_message,
+ _upload_file_via_v2_url,
)
from .legacy_slack_response import LegacySlackResponse as SlackResponse
from ..proxy_env_variable_loader import load_http_proxy_from_env
@@ -521,10 +523,33 @@
if has_json:
headers.update({"Content-Type": "application/json;charset=utf-8"})
if has_files:
- # will be set afterwards
+ # will be set afterward
headers.pop("Content-Type", None)
return headers
+ def _upload_file(
+ self,
+ *,
+ url: str,
+ data: bytes,
+ logger: logging.Logger,
+ timeout: int,
+ proxy: Optional[str],
+ ssl: Optional[SSLContext],
+ ) -> FileUploadV2Result:
+ result = _upload_file_via_v2_url(
+ url=url,
+ data=data,
+ logger=logger,
+ timeout=timeout,
+ proxy=proxy,
+ ssl=ssl,
+ )
+ return FileUploadV2Result(
+ status=result.get("status"),
+ body=result.get("body"),
+ )
+
# =================================================================
@staticmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/slack_sdk/web/legacy_client.py new/python-slack-sdk-3.27.2/slack_sdk/web/legacy_client.py
--- old/python-slack-sdk-3.27.1/slack_sdk/web/legacy_client.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/slack_sdk/web/legacy_client.py 2024-05-16 04:54:21.000000000 +0200
@@ -25,7 +25,6 @@
_warn_if_text_or_attachment_fallback_is_missing,
_remove_none_values,
_to_v2_file_upload_item,
- _upload_file_via_v2_url,
_validate_for_legacy_client,
_print_files_upload_v2_suggestion,
)
@@ -3586,7 +3585,7 @@
# step2: "https://files.slack.com/upload/v1/..." per file
for f in files:
- upload_result = _upload_file_via_v2_url(
+ upload_result = self._upload_file(
url=f["upload_url"],
data=f["data"],
logger=self._logger,
@@ -3594,9 +3593,9 @@
proxy=self.proxy,
ssl=self.ssl,
)
- if upload_result.get("status") != 200:
- status = upload_result.get("status")
- body = upload_result.get("body")
+ if upload_result.status != 200:
+ status = upload_result.status
+ body = upload_result.body
message = (
"Failed to upload a file "
f"(status: {status}, body: {body}, filename: {f.get('filename')}, title: {f.get('title')})"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/tests/slack_sdk/models/test_blocks.py new/python-slack-sdk-3.27.2/tests/slack_sdk/models/test_blocks.py
--- old/python-slack-sdk-3.27.1/tests/slack_sdk/models/test_blocks.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/tests/slack_sdk/models/test_blocks.py 2024-05-16 04:54:21.000000000 +0200
@@ -1083,3 +1083,38 @@
],
)
self.assertDictEqual(dict_block, class_block.to_dict())
+
+ def test_elements_are_parsed(self):
+ dict_block = {
+ "type": "rich_text",
+ "elements": [
+ {
+ "type": "rich_text_section",
+ "elements": [{"type": "text", "text": "Hello there, I am a basic rich text block!"}],
+ },
+ {
+ "type": "rich_text_quote",
+ "elements": [{"type": "text", "text": "this is very important"}],
+ },
+ {
+ "type": "rich_text_preformatted",
+ "elements": [{"type": "text", "text": 'print("Hello world")'}],
+ },
+ {
+ "type": "rich_text_list",
+ "elements": [
+ {"type": "rich_text_section", "elements": [{"type": "text", "text": "a"}]},
+ ],
+ },
+ ],
+ }
+ block = RichTextBlock(**dict_block)
+ self.assertIsInstance(block.elements[0], RichTextSectionElement)
+ self.assertIsInstance(block.elements[0].elements[0], RichTextElementParts.Text)
+ self.assertIsInstance(block.elements[1], RichTextQuoteElement)
+ self.assertIsInstance(block.elements[1].elements[0], RichTextElementParts.Text)
+ self.assertIsInstance(block.elements[2], RichTextPreformattedElement)
+ self.assertIsInstance(block.elements[2].elements[0], RichTextElementParts.Text)
+ self.assertIsInstance(block.elements[3], RichTextListElement)
+ self.assertIsInstance(block.elements[3].elements[0], RichTextSectionElement)
+ self.assertIsInstance(block.elements[3].elements[0].elements[0], RichTextElementParts.Text)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/tests/slack_sdk/socket_mode/test_interactions_builtin.py new/python-slack-sdk-3.27.2/tests/slack_sdk/socket_mode/test_interactions_builtin.py
--- old/python-slack-sdk-3.27.1/tests/slack_sdk/socket_mode/test_interactions_builtin.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/tests/slack_sdk/socket_mode/test_interactions_builtin.py 2024-05-16 04:54:21.000000000 +0200
@@ -13,7 +13,6 @@
from slack_sdk import WebClient
from slack_sdk.socket_mode import SocketModeClient
-from tests.helpers import is_ci_unstable_test_skip_enabled
from tests.slack_sdk.socket_mode.mock_socket_mode_server import (
start_socket_mode_server,
socket_mode_envelopes,
@@ -48,9 +47,6 @@
pass
def test_interactions(self):
- if is_ci_unstable_test_skip_enabled():
- return
-
default_recursion_limit = sys.getrecursionlimit() # will restore later
# This built-in WebSocket client internally has recursive method calls of _fetch_messages method.
# In this test, the method calls can result in the following error when giving a quite small buffer size.
@@ -135,8 +131,6 @@
self.logger.info(f"Passed with buffer size: {buffer_size_list}")
def test_send_message_while_disconnection(self):
- if is_ci_unstable_test_skip_enabled():
- return
t = Thread(target=start_socket_mode_server(self, 3011))
t.daemon = True
t.start()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/tests/slack_sdk/socket_mode/test_interactions_websocket_client.py new/python-slack-sdk-3.27.2/tests/slack_sdk/socket_mode/test_interactions_websocket_client.py
--- old/python-slack-sdk-3.27.1/tests/slack_sdk/socket_mode/test_interactions_websocket_client.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/tests/slack_sdk/socket_mode/test_interactions_websocket_client.py 2024-05-16 04:54:21.000000000 +0200
@@ -38,8 +38,6 @@
cleanup_mock_web_api_server(self)
def test_interactions(self):
- if is_ci_unstable_test_skip_enabled():
- return
t = Thread(target=start_socket_mode_server(self, 3012))
t.daemon = True
t.start()
@@ -100,6 +98,7 @@
def test_send_message_while_disconnection(self):
if is_ci_unstable_test_skip_enabled():
+ # this test tends to fail on the GitHub Actions platform
return
t = Thread(target=start_socket_mode_server(self, 3012))
t.daemon = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/tests/slack_sdk_async/socket_mode/test_interactions_aiohttp.py new/python-slack-sdk-3.27.2/tests/slack_sdk_async/socket_mode/test_interactions_aiohttp.py
--- old/python-slack-sdk-3.27.1/tests/slack_sdk_async/socket_mode/test_interactions_aiohttp.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/tests/slack_sdk_async/socket_mode/test_interactions_aiohttp.py 2024-05-16 04:54:21.000000000 +0200
@@ -14,7 +14,6 @@
from slack_sdk.socket_mode.aiohttp import SocketModeClient
from slack_sdk.web.async_client import AsyncWebClient
-from tests.helpers import is_ci_unstable_test_skip_enabled
from tests.slack_sdk.socket_mode.mock_socket_mode_server import (
start_socket_mode_server,
start_socket_mode_server_with_disconnection,
@@ -44,8 +43,6 @@
@async_test
async def test_interactions(self):
- if is_ci_unstable_test_skip_enabled():
- return
t = Thread(target=start_socket_mode_server(self, 3001))
t.daemon = True
t.start()
@@ -108,8 +105,6 @@
@async_test
async def test_interactions_with_disconnection(self):
- if is_ci_unstable_test_skip_enabled():
- return
t = Thread(target=start_socket_mode_server_with_disconnection(self, 3001))
t.daemon = True
t.start()
@@ -196,8 +191,6 @@
@async_test
async def test_send_message_while_disconnection(self):
- if is_ci_unstable_test_skip_enabled():
- return
t = Thread(target=start_socket_mode_server(self, 3001))
t.daemon = True
t.start()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-slack-sdk-3.27.1/tests/slack_sdk_async/socket_mode/test_interactions_websockets.py new/python-slack-sdk-3.27.2/tests/slack_sdk_async/socket_mode/test_interactions_websockets.py
--- old/python-slack-sdk-3.27.1/tests/slack_sdk_async/socket_mode/test_interactions_websockets.py 2024-02-28 03:09:42.000000000 +0100
+++ new/python-slack-sdk-3.27.2/tests/slack_sdk_async/socket_mode/test_interactions_websockets.py 2024-05-16 04:54:21.000000000 +0200
@@ -42,8 +42,6 @@
@async_test
async def test_interactions(self):
- if is_ci_unstable_test_skip_enabled():
- return
t = Thread(target=start_socket_mode_server(self, 3002))
t.daemon = True
t.start()
@@ -109,6 +107,7 @@
@async_test
async def test_send_message_while_disconnection(self):
if is_ci_unstable_test_skip_enabled():
+ # this test tends to fail on the GitHub Actions platform
return
t = Thread(target=start_socket_mode_server(self, 3001))
t.daemon = True
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ancient for openSUSE:Factory checked in at 2024-06-10 17:37:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ancient (Old)
and /work/SRC/openSUSE:Factory/.ancient.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ancient"
Mon Jun 10 17:37:46 2024 rev:4 rq:1179626 version:2.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ancient/ancient.changes 2023-11-09 21:35:42.521573667 +0100
+++ /work/SRC/openSUSE:Factory/.ancient.new.19518/ancient.changes 2024-06-10 17:38:00.343779736 +0200
@@ -1,0 +2,14 @@
+Sun Jun 9 15:55:05 UTC 2024 - Andrea Manzini <andrea.manzini(a)suse.com>
+
+- update to 2.2.0:
+ * Fixed a potential security issue where a malicious file can lead
+ to undefined behavior and double free (fuzzing, thanks Sagamusix)
+ * Fixed cases where malicious files could take a long time to fail (fuzzing)
+ * Added more sanity checking and operations through index-checked
+ containers instead of raw pointers
+ * Added support for RNC2 old bitstream
+ * Added support for VIC2 and Vice formats (Amiga)
+ * Added support for clone-formats (changed ids)
+ * Refactored SHR3 and SHRI to be a single implementation
+
+-------------------------------------------------------------------
Old:
----
ancient-2.1.1.tar.gz
New:
----
ancient-2.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ancient.spec ++++++
--- /var/tmp/diff_new_pack.s1avLP/_old 2024-06-10 17:38:01.155809776 +0200
+++ /var/tmp/diff_new_pack.s1avLP/_new 2024-06-10 17:38:01.155809776 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ancient
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2023, Martin Hauke <mardnh(a)gmx.de>
#
# All modifications and additions to the file contributed by third parties
@@ -20,7 +20,7 @@
%define sover 2
%define libname libancient%{sover}
Name: ancient
-Version: 2.1.1
+Version: 2.2.0
Release: 0
Summary: Decompression routines for ancient formats
License: BSD-2-Clause
++++++ ancient-2.1.1.tar.gz -> ancient-2.2.0.tar.gz ++++++
++++ 15185 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-uritools for openSUSE:Factory checked in at 2024-06-10 17:37:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-uritools (Old)
and /work/SRC/openSUSE:Factory/.python-uritools.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-uritools"
Mon Jun 10 17:37:45 2024 rev:5 rq:1179633 version:4.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-uritools/python-uritools.changes 2023-12-04 23:02:21.053477188 +0100
+++ /work/SRC/openSUSE:Factory/.python-uritools.new.19518/python-uritools.changes 2024-06-10 17:37:58.471710485 +0200
@@ -1,0 +2,7 @@
+Mon Jun 10 07:47:32 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 4.0.3:
+ * Prepare for Python 3.13.
+- use PEP 517 build
+
+-------------------------------------------------------------------
Old:
----
uritools-4.0.2.tar.gz
New:
----
uritools-4.0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-uritools.spec ++++++
--- /var/tmp/diff_new_pack.GHmExA/_old 2024-06-10 17:37:59.399744814 +0200
+++ /var/tmp/diff_new_pack.GHmExA/_new 2024-06-10 17:37:59.399744814 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-uritools
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,14 +18,16 @@
%{?sle15_python_module_pythons}
Name: python-uritools
-Version: 4.0.2
+Version: 4.0.3
Release: 0
Summary: URI parsing, classification and composition
License: MIT
Group: Development/Languages/Python
URL: https://github.com/tkem/uritools/
Source: https://files.pythonhosted.org/packages/source/u/uritools/uritools-%{versio…
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@@ -38,10 +40,10 @@
%setup -q -n uritools-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -50,5 +52,6 @@
%files %{python_files}
%doc CHANGELOG.rst README.rst
%license LICENSE
-%{python_sitelib}/*
+%{python_sitelib}/uritools
+%{python_sitelib}/uritools-%{version}.dist-info
++++++ uritools-4.0.2.tar.gz -> uritools-4.0.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/CHANGELOG.rst new/uritools-4.0.3/CHANGELOG.rst
--- old/uritools-4.0.2/CHANGELOG.rst 2023-08-30 21:31:51.000000000 +0200
+++ new/uritools-4.0.3/CHANGELOG.rst 2024-05-28 20:03:50.000000000 +0200
@@ -1,3 +1,9 @@
+v4.0.3 (2024-05-28)
+===================
+
+- Prepare for Python 3.13.
+
+
v4.0.2 (2023-08-30)
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/LICENSE new/uritools-4.0.3/LICENSE
--- old/uritools-4.0.2/LICENSE 2022-01-02 11:31:17.000000000 +0100
+++ new/uritools-4.0.3/LICENSE 2024-05-28 20:03:31.000000000 +0200
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2014-2022 Thomas Kemmer
+Copyright (c) 2014-2024 Thomas Kemmer
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/MANIFEST.in new/uritools-4.0.3/MANIFEST.in
--- old/uritools-4.0.2/MANIFEST.in 2020-08-10 19:35:07.000000000 +0200
+++ new/uritools-4.0.3/MANIFEST.in 2024-05-01 20:41:31.000000000 +0200
@@ -3,6 +3,7 @@
include MANIFEST.in
include README.rst
include tox.ini
+exclude .readthedocs.yaml
recursive-include docs *
prune docs/_build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/PKG-INFO new/uritools-4.0.3/PKG-INFO
--- old/uritools-4.0.2/PKG-INFO 2023-08-30 21:34:03.441240300 +0200
+++ new/uritools-4.0.3/PKG-INFO 2024-05-28 20:05:22.811203200 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: uritools
-Version: 4.0.2
+Version: 4.0.3
Summary: URI parsing, classification and composition
Home-page: https://github.com/tkem/uritools/
Author: Thomas Kemmer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/docs/conf.py new/uritools-4.0.3/docs/conf.py
--- old/uritools-4.0.2/docs/conf.py 2023-08-30 21:31:51.000000000 +0200
+++ new/uritools-4.0.3/docs/conf.py 2024-05-28 20:03:31.000000000 +0200
@@ -1,7 +1,26 @@
+import pathlib
+import sys
+
+src_directory = (pathlib.Path(__file__).parent.parent / "src").resolve()
+sys.path.insert(0, str(src_directory))
+
+
+# Extract the current version from the source.
+def get_version():
+ """Get the version and release from the source code."""
+
+ text = (src_directory / "uritools/__init__.py").read_text()
+ for line in text.splitlines():
+ if not line.strip().startswith("__version__"):
+ continue
+ full_version = line.partition("=")[2].strip().strip("\"'")
+ partial_version = ".".join(full_version.split(".")[:2])
+ return full_version, partial_version
+
+
project = "uritools"
-copyright = "2014-2023 Thomas Kemmer"
-version = "4.0"
-release = "4.0.2"
+copyright = "2014-2024 Thomas Kemmer"
+release, version = get_version()
extensions = [
"sphinx.ext.autodoc",
@@ -11,4 +30,4 @@
]
exclude_patterns = ["_build"]
master_doc = "index"
-html_theme = "default"
+html_theme = "classic"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/setup.cfg new/uritools-4.0.3/setup.cfg
--- old/uritools-4.0.2/setup.cfg 2023-08-30 21:34:03.441240300 +0200
+++ new/uritools-4.0.3/setup.cfg 2024-05-28 20:05:22.811203200 +0200
@@ -5,7 +5,7 @@
author = Thomas Kemmer
author_email = tkemmer(a)computer.org
license = MIT
-license_file = LICENSE
+license_files = LICENSE
description = URI parsing, classification and composition
long_description = file: README.rst
classifiers =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/src/uritools/__init__.py new/uritools-4.0.3/src/uritools/__init__.py
--- old/uritools-4.0.2/src/uritools/__init__.py 2023-08-30 21:31:51.000000000 +0200
+++ new/uritools-4.0.3/src/uritools/__init__.py 2024-05-28 20:03:31.000000000 +0200
@@ -34,7 +34,7 @@
"uriunsplit",
)
-__version__ = "4.0.2"
+__version__ = "4.0.3"
# RFC 3986 2.2. Reserved Characters
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/src/uritools.egg-info/PKG-INFO new/uritools-4.0.3/src/uritools.egg-info/PKG-INFO
--- old/uritools-4.0.2/src/uritools.egg-info/PKG-INFO 2023-08-30 21:34:03.000000000 +0200
+++ new/uritools-4.0.3/src/uritools.egg-info/PKG-INFO 2024-05-28 20:05:22.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: uritools
-Version: 4.0.2
+Version: 4.0.3
Summary: URI parsing, classification and composition
Home-page: https://github.com/tkem/uritools/
Author: Thomas Kemmer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/tests/test_split.py new/uritools-4.0.3/tests/test_split.py
--- old/uritools-4.0.2/tests/test_split.py 2021-10-11 20:18:34.000000000 +0200
+++ new/uritools-4.0.3/tests/test_split.py 2024-05-28 20:03:31.000000000 +0200
@@ -406,52 +406,133 @@
"Error parsing query list for %r" % query,
)
- def test_ip_literal(self):
+ def test_ipv4_literal(self):
cases = [
- ("http://Test.python.org:5432/foo/", "test.python.org", 5432),
+ ("http://12.34.56.78/foo/", "12.34.56.78", None),
+ ("http://12.34.56.78:/foo/", "12.34.56.78", None),
("http://12.34.56.78:5432/foo/", "12.34.56.78", 5432),
- ("http://[::1]:5432/foo/", "::1", 5432),
- ("http://[dead:beef::1]:5432/foo/", "dead:beef::1", 5432),
- ("http://[dead:beef::]:5432/foo/", "dead:beef::", 5432),
+ ]
+ for uri, host, port in cases:
+ for parts in (urisplit(uri), urisplit(uri.encode("ascii"))):
+ self.assertEqual(host, str(parts.gethost()))
+ self.assertEqual(port, parts.getport())
+
+ def test_ipv6_literal(self):
+ cases = [
+ ("http://[::1]:5432/foo/", "0000:0000:0000:0000:0000:0000:0000:0001", 5432),
+ (
+ "http://[dead:beef::1]:5432/foo/",
+ "dead:beef:0000:0000:0000:0000:0000:0001",
+ 5432,
+ ),
+ (
+ "http://[dead:beef::]:5432/foo/",
+ "dead:beef:0000:0000:0000:0000:0000:0000",
+ 5432,
+ ),
(
"http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]:5432/foo/",
"dead:beef:cafe:5417:affe:8fa3:deaf:feed",
5432,
),
- ("http://[::12.34.56.78]:5432/foo/", "::c22:384e", 5432),
- ("http://[::ffff:12.34.56.78]:5432/foo/", "::ffff:c22:384e", 5432),
- ("http://Test.python.org/foo/", "test.python.org", None),
- ("http://12.34.56.78/foo/", "12.34.56.78", None),
- ("http://[::1]/foo/", "::1", None),
- ("http://[dead:beef::1]/foo/", "dead:beef::1", None),
- ("http://[dead:beef::]/foo/", "dead:beef::", None),
+ ("http://[::1]/foo/", "0000:0000:0000:0000:0000:0000:0000:0001", None),
+ (
+ "http://[dead:beef::1]/foo/",
+ "dead:beef:0000:0000:0000:0000:0000:0001",
+ None,
+ ),
+ (
+ "http://[dead:beef::]/foo/",
+ "dead:beef:0000:0000:0000:0000:0000:0000",
+ None,
+ ),
(
"http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]/foo/",
"dead:beef:cafe:5417:affe:8fa3:deaf:feed",
None,
),
- ("http://[::12.34.56.78]/foo/", "::c22:384e", None),
- ("http://[::ffff:12.34.56.78]/foo/", "::ffff:c22:384e", None),
- ("http://Test.python.org:/foo/", "test.python.org", None),
- ("http://12.34.56.78:/foo/", "12.34.56.78", None),
- ("http://[::1]:/foo/", "::1", None),
- ("http://[dead:beef::1]:/foo/", "dead:beef::1", None),
- ("http://[dead:beef::]:/foo/", "dead:beef::", None),
+ ("http://[::1]:/foo/", "0000:0000:0000:0000:0000:0000:0000:0001", None),
+ (
+ "http://[dead:beef::1]:/foo/",
+ "dead:beef:0000:0000:0000:0000:0000:0001",
+ None,
+ ),
+ (
+ "http://[dead:beef::]:/foo/",
+ "dead:beef:0000:0000:0000:0000:0000:0000",
+ None,
+ ),
(
"http://[dead:beef:cafe:5417:affe:8FA3:deaf:feed]:/foo/",
"dead:beef:cafe:5417:affe:8fa3:deaf:feed",
None,
),
- ("http://[::12.34.56.78]:/foo/", "::c22:384e", None),
- ("http://[::ffff:12.34.56.78]:/foo/", "::ffff:c22:384e", None),
]
for uri, host, port in cases:
+ for parts in (urisplit(uri), urisplit(uri.encode("ascii"))):
+ self.assertEqual(host, parts.gethost().exploded)
+ self.assertEqual(port, parts.getport())
+
+ def test_ipv4_mapped_literal(self):
+ # since Python 3.13, the "alternative form" is used for
+ # IPv4-mapped addresses, see RFC 4291 2.2 p.3
+ cases = [
+ (
+ "http://[::12.34.56.78]:5432/foo/",
+ [
+ "0000:0000:0000:0000:0000:0000:0c22:384e",
+ "0000:0000:0000:0000:0000:0000:12.34.56.78",
+ ],
+ 5432,
+ ),
+ (
+ "http://[::ffff:12.34.56.78]:5432/foo/",
+ [
+ "0000:0000:0000:0000:0000:ffff:0c22:384e",
+ "0000:0000:0000:0000:0000:ffff:12.34.56.78",
+ ],
+ 5432,
+ ),
+ (
+ "http://[::12.34.56.78]/foo/",
+ [
+ "0000:0000:0000:0000:0000:0000:0c22:384e",
+ "0000:0000:0000:0000:0000:0000:12.34.56.78",
+ ],
+ None,
+ ),
+ (
+ "http://[::ffff:12.34.56.78]/foo/",
+ [
+ "0000:0000:0000:0000:0000:ffff:0c22:384e",
+ "0000:0000:0000:0000:0000:ffff:12.34.56.78",
+ ],
+ None,
+ ),
+ (
+ "http://[::12.34.56.78]:/foo/",
+ [
+ "0000:0000:0000:0000:0000:0000:0c22:384e",
+ "0000:0000:0000:0000:0000:0000:12.34.56.78",
+ ],
+ None,
+ ),
+ (
+ "http://[::ffff:12.34.56.78]:/foo/",
+ [
+ "0000:0000:0000:0000:0000:ffff:0c22:384e",
+ "0000:0000:0000:0000:0000:ffff:12.34.56.78",
+ ],
+ None,
+ ),
+ ]
+ for uri, hosts, port in cases:
parts = urisplit(uri)
- self.assertEqual(host, str(parts.gethost()))
- self.assertEqual(port, parts.getport())
+ self.assertIn(parts.gethost().exploded, hosts)
+ self.assertEqual(parts.getport(), port)
parts = urisplit(uri.encode("ascii"))
- self.assertEqual(host, str(parts.gethost()))
- self.assertEqual(port, parts.getport())
+ self.assertIn(parts.gethost().exploded, hosts)
+ self.assertEqual(parts.getport(), port)
def test_invalid_ip_literal(self):
uris = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/uritools-4.0.2/tox.ini new/uritools-4.0.3/tox.ini
--- old/uritools-4.0.2/tox.ini 2021-10-11 20:18:34.000000000 +0200
+++ new/uritools-4.0.3/tox.ini 2024-05-28 20:03:31.000000000 +0200
@@ -3,7 +3,6 @@
[testenv]
deps =
- coverage
pytest
pytest-cov
commands =
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt-creator for openSUSE:Factory checked in at 2024-06-10 17:37:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt-creator (Old)
and /work/SRC/openSUSE:Factory/.qt-creator.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt-creator"
Mon Jun 10 17:37:43 2024 rev:35 rq:1179630 version:13.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt-creator/qt-creator.changes 2024-05-09 17:29:00.344150870 +0200
+++ /work/SRC/openSUSE:Factory/.qt-creator.new.19518/qt-creator.changes 2024-06-10 17:37:55.987618592 +0200
@@ -1,0 +2,19 @@
+Fri Jun 7 07:08:48 UTC 2024 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 13.0.2
+ https://www.qt.io/blog/qt-creator-13.0.2-released
+ * Fixed that the -client option could start a new Qt Creator
+ instance instead of using a running one
+ * Fixed that closing files with the tool button didn't add an
+ entry to the navigation history
+ * Fixed that Use Qt module name in #include-directive used Qt 4
+ module names
+ * Adapted to changes in the Copilot neovim plugin
+ * CMake: Fixed the environment macro expansion for Presets
+ * Meson: Fixed a crash when selecting kits
+ * Terminal: Fixed the handling of environment variables with an
+ equal sign = in the value
+ * Git: Fixed a crash in Instant Blame when reloading externally
+ modified files
+
+-------------------------------------------------------------------
Old:
----
qt-creator-opensource-src-13.0.1.tar.xz
New:
----
qt-creator-opensource-src-13.0.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt-creator.spec ++++++
--- /var/tmp/diff_new_pack.7NwDil/_old 2024-06-10 17:37:57.235664760 +0200
+++ /var/tmp/diff_new_pack.7NwDil/_new 2024-06-10 17:37:57.235664760 +0200
@@ -16,7 +16,7 @@
#
-%define real_version 13.0.1
+%define real_version 13.0.2
%define short_version 13.0
%define tar_name qt-creator-opensource-src
%define tar_suffix %{nil}
@@ -47,7 +47,7 @@
%bcond_without docs
Name: %{pkgname_prefix}-creator
-Version: 13.0.1
+Version: 13.0.2
Release: 0
Summary: Integrated Development Environment targeting Qt apps
# src/plugins/cmakeprojectmanager/configmodelitemdelegate.* -> LGPL-2.1-only OR LGPL-3.0-only
++++++ qt-creator-opensource-src-13.0.1.tar.xz -> qt-creator-opensource-src-13.0.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/qt-creator/qt-creator-opensource-src-13.0.1.tar.xz /work/SRC/openSUSE:Factory/.qt-creator.new.19518/qt-creator-opensource-src-13.0.2.tar.xz differ: char 27, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nano for openSUSE:Factory checked in at 2024-06-10 17:37:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nano (Old)
and /work/SRC/openSUSE:Factory/.nano.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nano"
Mon Jun 10 17:37:36 2024 rev:109 rq:1179354 version:8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nano/nano.changes 2024-05-03 00:08:58.957443687 +0200
+++ /work/SRC/openSUSE:Factory/.nano.new.19518/nano.changes 2024-06-10 17:37:46.799280511 +0200
@@ -26,0 +27,2 @@
+ * CVE-2024-5742: Avoid privilege escalations via symlink attacks
+ on emergency save file (boo#1226099)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rtl8812au for openSUSE:Factory checked in at 2024-06-10 17:37:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rtl8812au (Old)
and /work/SRC/openSUSE:Factory/.rtl8812au.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rtl8812au"
Mon Jun 10 17:37:34 2024 rev:24 rq:1179605 version:5.13.6+git20240429.cbe2fd6
Changes:
--------
--- /work/SRC/openSUSE:Factory/rtl8812au/rtl8812au.changes 2024-04-19 19:26:08.529780268 +0200
+++ /work/SRC/openSUSE:Factory/.rtl8812au.new.19518/rtl8812au.changes 2024-06-10 17:37:42.587123502 +0200
@@ -1,0 +2,7 @@
+Sun May 26 06:55:40 UTC 2024 - Konstantin Voinov <kv(a)kott.no-ip.biz>
+
+- Change source to newer version:
+ https://github.com/morrownr/8812au-20210820
+- Update _services
+
+-------------------------------------------------------------------
Old:
----
rtl8812au-5.13.6+git20240320.8be3a1d.obscpio
New:
----
rtl8812au-5.13.6+git20240429.cbe2fd6.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rtl8812au.spec ++++++
--- /var/tmp/diff_new_pack.gMf34W/_old 2024-06-10 17:37:45.131218333 +0200
+++ /var/tmp/diff_new_pack.gMf34W/_new 2024-06-10 17:37:45.147218930 +0200
@@ -19,7 +19,7 @@
%{?!kernel_module_directory:%define kernel_module_directory /lib/modules}
Name: rtl8812au
-Version: 5.13.6+git20240320.8be3a1d
+Version: 5.13.6+git20240429.cbe2fd6
Release: 0
Summary: Kernel driver for Realtek 802.11ac 8812au wifi cards
License: GPL-2.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.gMf34W/_old 2024-06-10 17:37:45.575234885 +0200
+++ /var/tmp/diff_new_pack.gMf34W/_new 2024-06-10 17:37:45.607236077 +0200
@@ -1,12 +1,12 @@
<services>
- <service name="obs_scm" mode="disabled">
+ <service name="obs_scm" mode="manual">
<param name="scm">git</param>
- <param name="url">https://github.com/morrownr/8812au-20210629.git</param>
+ <param name="url">https://github.com/morrownr/8812au-20210820.git</param>
<param name="filename">rtl8812au</param>
<param name="versionformat">5.13.6+git%cd.%h</param>
<param name="revision">main</param>
</service>
- <service name="set_version" mode="disabled"/>
+ <service name="set_version" mode="manual"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="compression">xz</param>
++++++ rtl8812au-5.13.6+git20240320.8be3a1d.obscpio -> rtl8812au-5.13.6+git20240429.cbe2fd6.obscpio ++++++
/work/SRC/openSUSE:Factory/rtl8812au/rtl8812au-5.13.6+git20240320.8be3a1d.obscpio /work/SRC/openSUSE:Factory/.rtl8812au.new.19518/rtl8812au-5.13.6+git20240429.cbe2fd6.obscpio differ: char 48, line 1
++++++ rtl8812au.obsinfo ++++++
--- /var/tmp/diff_new_pack.gMf34W/_old 2024-06-10 17:37:45.963249347 +0200
+++ /var/tmp/diff_new_pack.gMf34W/_new 2024-06-10 17:37:46.003250839 +0200
@@ -1,5 +1,5 @@
name: rtl8812au
-version: 5.13.6+git20240320.8be3a1d
-mtime: 1710956332
-commit: 8be3a1d7acf60f77c5d9c33b690b8d7301bdf127
+version: 5.13.6+git20240429.cbe2fd6
+mtime: 1714434722
+commit: cbe2fd6682c6eca5e8b527ddc0c1bede282b637a
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-ansible-compat for openSUSE:Factory checked in at 2024-06-10 17:37:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ansible-compat (Old)
and /work/SRC/openSUSE:Factory/.python-ansible-compat.new.19518 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ansible-compat"
Mon Jun 10 17:37:32 2024 rev:25 rq:1179600 version:24.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ansible-compat/python-ansible-compat.changes 2024-06-03 17:42:10.744202333 +0200
+++ /work/SRC/openSUSE:Factory/.python-ansible-compat.new.19518/python-ansible-compat.changes 2024-06-10 17:37:39.319001683 +0200
@@ -1,0 +2,9 @@
+Fri Jun 7 19:53:49 UTC 2024 - Johannes Kastl <opensuse_buildservice(a)ojkastl.de>
+
+- update to 24.6.1:
+ * Bugfixes
+ - Allow the caller to set the ANSIBLE_COLLECTIONS_PATH (#388)
+ @cidrblock
+ - Don't nuke the collections path (#387) @cidrblock
+
+-------------------------------------------------------------------
Old:
----
python-ansible-compat-24.6.0.tar.gz
New:
----
python-ansible-compat-24.6.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ansible-compat.spec ++++++
--- /var/tmp/diff_new_pack.MAafZo/_old 2024-06-10 17:37:40.011027478 +0200
+++ /var/tmp/diff_new_pack.MAafZo/_new 2024-06-10 17:37:40.015027627 +0200
@@ -24,7 +24,7 @@
%endif
Name: python-ansible-compat
-Version: 24.6.0
+Version: 24.6.1
Release: 0
Summary: Compatibility shim for Ansible 2.9 and newer
License: MIT
++++++ python-ansible-compat-24.6.0.tar.gz -> python-ansible-compat-24.6.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-24.6.0/.git_archival.txt new/ansible-compat-24.6.1/.git_archival.txt
--- old/ansible-compat-24.6.0/.git_archival.txt 2024-05-29 15:33:45.000000000 +0200
+++ new/ansible-compat-24.6.1/.git_archival.txt 2024-06-05 16:05:54.000000000 +0200
@@ -1,4 +1,4 @@
-node: 32ce03c9989698544353a24a5f8b7399c1a0b8a0
-node-date: 2024-05-29T14:33:45+01:00
-describe-name: v24.6.0
-ref-names: HEAD -> main, tag: v24.6.0
+node: 2cd7e39f7a13f003c6cba7142ae5a7a5b4585018
+node-date: 2024-06-05T07:05:54-07:00
+describe-name: v24.6.1
+ref-names: HEAD -> main, tag: v24.6.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-24.6.0/.pre-commit-config.yaml new/ansible-compat-24.6.1/.pre-commit-config.yaml
--- old/ansible-compat-24.6.0/.pre-commit-config.yaml 2024-05-29 15:33:45.000000000 +0200
+++ new/ansible-compat-24.6.1/.pre-commit-config.yaml 2024-06-05 16:05:54.000000000 +0200
@@ -22,7 +22,7 @@
)$
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: "v0.4.3"
+ rev: "v0.4.7"
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
@@ -57,7 +57,7 @@
- id: debug-statements
language_version: python3
- repo: https://github.com/codespell-project/codespell
- rev: v2.2.6
+ rev: v2.3.0
hooks:
- id: codespell
- repo: https://github.com/adrienverge/yamllint.git
@@ -90,7 +90,7 @@
- types-pkg_resources
- types-jsonschema>=4.4.9
- repo: https://github.com/pycqa/pylint
- rev: v3.1.0
+ rev: v3.2.2
hooks:
- id: pylint
additional_dependencies:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-24.6.0/src/ansible_compat/runtime.py new/ansible-compat-24.6.1/src/ansible_compat/runtime.py
--- old/ansible-compat-24.6.0/src/ansible_compat/runtime.py 2024-05-29 15:33:45.000000000 +0200
+++ new/ansible-compat-24.6.1/src/ansible_compat/runtime.py 2024-06-05 16:05:54.000000000 +0200
@@ -374,11 +374,13 @@
tee: bool = False,
env: dict[str, str] | None = None,
cwd: Path | None = None,
+ set_acp: bool = True,
) -> CompletedProcess:
"""Execute a command inside an Ansible environment.
:param retry: Retry network operations on failures.
:param tee: Also pass captured stdout/stderr to system while running.
+ :param set_acp: Set the ANSIBLE_COLLECTIONS_PATH
"""
if tee:
run_func: Callable[..., CompletedProcess] = subprocess_tee.run
@@ -392,7 +394,8 @@
# https://github.com/ansible/ansible-lint/issues/3522
env["ANSIBLE_VERBOSE_TO_STDERR"] = "True"
- env["ANSIBLE_COLLECTIONS_PATH"] = ":".join(self.config.collections_paths)
+ if set_acp:
+ env["ANSIBLE_COLLECTIONS_PATH"] = ":".join(self.config.collections_paths)
for _ in range(self.max_retries + 1 if retry else 1):
result = run_func(
1
0