Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-osc-tiny for openSUSE:Factory checked in at 2025-06-20 16:54:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-osc-tiny (Old) and /work/SRC/openSUSE:Factory/.python-osc-tiny.new.31170 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-osc-tiny" Fri Jun 20 16:54:54 2025 rev:39 rq:1287242 version:0.10.7 Changes: -------- --- /work/SRC/openSUSE:Factory/python-osc-tiny/python-osc-tiny.changes 2024-12-11 21:09:23.381623561 +0100 +++ /work/SRC/openSUSE:Factory/.python-osc-tiny.new.31170/python-osc-tiny.changes 2025-06-20 16:55:09.314528015 +0200 @@ -1,0 +2,13 @@ +Fri Jun 20 12:32:29 UTC 2025 - Chen Huang <chhu...@suse.com> + +- Remove patch py313.patch + +------------------------------------------------------------------- +Fri Jun 20 12:08:06 UTC 2025 - maintenance-obs-robot <maintenance-automation-t...@suse.de> + +- Release 0.10.7 + - Fix: Change `deleted` back to being a boolean parameter instead of a boolean flag (closes #207) + - Fix CI: Use container images for pre 3.8 pythons + - Fix: test failure in PY13 + +------------------------------------------------------------------- Old: ---- osc_tiny-0.10.6.tar.gz py313.patch New: ---- osc_tiny-0.10.7.tar.gz ----------(Old B)---------- Old: - Remove patch py313.patch ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-osc-tiny.spec ++++++ --- /var/tmp/diff_new_pack.E3S6Nv/_old 2025-06-20 16:55:09.874551179 +0200 +++ /var/tmp/diff_new_pack.E3S6Nv/_new 2025-06-20 16:55:09.878551344 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-osc-tiny # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,15 +19,13 @@ %define skip_python2 1 %{?sle15allpythons} Name: python-osc-tiny -Version: 0.10.6 +Version: 0.10.7 Release: 0 Summary: Client API for openSUSE BuildService License: MIT Group: Development/Languages/Python URL: https://github.com/SUSE/osc-tiny Source: https://files.pythonhosted.org/packages/source/o/osc-tiny/osc_tiny-%{version}.tar.gz -# PATCH-FIX-UPSTREAM https://github.com/SUSE/osc-tiny/pull/204 fix test failure in PY13 -Patch: py313.patch BuildRequires: %{python_module PyYAML} BuildRequires: %{python_module lxml} BuildRequires: %{python_module pip} ++++++ osc_tiny-0.10.6.tar.gz -> osc_tiny-0.10.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc_tiny-0.10.6/PKG-INFO new/osc_tiny-0.10.7/PKG-INFO --- old/osc_tiny-0.10.6/PKG-INFO 2024-11-26 13:38:15.229026600 +0100 +++ new/osc_tiny-0.10.7/PKG-INFO 2025-06-20 14:07:56.387409000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: osc-tiny -Version: 0.10.6 +Version: 0.10.7 Summary: Client API for openSUSE BuildService Home-page: https://github.com/SUSE/osc-tiny Author: Andreas Hasenkopf @@ -28,6 +28,18 @@ Requires-Dist: pytz Requires-Dist: pyyaml Requires-Dist: urllib3 +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: description-content-type +Dynamic: home-page +Dynamic: license +Dynamic: license-file +Dynamic: maintainer +Dynamic: maintainer-email +Dynamic: requires-dist +Dynamic: summary OSC Tiny ======== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc_tiny-0.10.6/osc_tiny.egg-info/PKG-INFO new/osc_tiny-0.10.7/osc_tiny.egg-info/PKG-INFO --- old/osc_tiny-0.10.6/osc_tiny.egg-info/PKG-INFO 2024-11-26 13:38:15.000000000 +0100 +++ new/osc_tiny-0.10.7/osc_tiny.egg-info/PKG-INFO 2025-06-20 14:07:56.000000000 +0200 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.4 Name: osc-tiny -Version: 0.10.6 +Version: 0.10.7 Summary: Client API for openSUSE BuildService Home-page: https://github.com/SUSE/osc-tiny Author: Andreas Hasenkopf @@ -28,6 +28,18 @@ Requires-Dist: pytz Requires-Dist: pyyaml Requires-Dist: urllib3 +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: description-content-type +Dynamic: home-page +Dynamic: license +Dynamic: license-file +Dynamic: maintainer +Dynamic: maintainer-email +Dynamic: requires-dist +Dynamic: summary OSC Tiny ======== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc_tiny-0.10.6/osctiny/__init__.py new/osc_tiny-0.10.7/osctiny/__init__.py --- old/osc_tiny-0.10.6/osctiny/__init__.py 2024-11-26 13:38:09.000000000 +0100 +++ new/osc_tiny-0.10.7/osctiny/__init__.py 2025-06-20 14:07:52.000000000 +0200 @@ -6,4 +6,4 @@ __all__ = ['Osc', 'bs_requests', 'buildresults', 'comments', 'packages', 'projects', 'search', 'users'] -__version__ = "0.10.6" +__version__ = "0.10.7" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc_tiny-0.10.6/osctiny/extensions/packages.py new/osc_tiny-0.10.7/osctiny/extensions/packages.py --- old/osc_tiny-0.10.6/osctiny/extensions/packages.py 2024-11-26 13:38:09.000000000 +0100 +++ new/osc_tiny-0.10.7/osctiny/extensions/packages.py 2025-06-20 14:07:52.000000000 +0200 @@ -48,7 +48,8 @@ return f"view={view}&expand={'1' if params.get('expand') else '0'}" return params - def get_list(self, project: str, deleted: bool = False, expand: bool = False, **params): + def get_list(self, project: str, deleted: typing.Optional[bool] = None, expand: bool = False, + **params): """ Get packages from project @@ -64,13 +65,22 @@ .. versionchanged:: 0.7.6 Changed default value of ``expand`` to ``False`` + .. versionchanged:: 0.10.7 + Made the ``deleted`` parameter fully optional. It is no longer a boolean flag but really + a boolean parameter, so ``deleted=0`` is actually added to the API call. + :param project: name of project - :param deleted: Show deleted packages instead + :param deleted: If true, also shows deleted packages instead of the present ones. + If False, then `deleted=0` is appended to the query explicitly. + Default is `None`, which implies no parameter addition to the query. :param expand: Include inherited packages and their project of origin :return: Objectified XML element :rtype: lxml.objectify.ObjectifiedElement """ - params.update({"deleted": deleted, "expand": expand}) + params.update({"expand": expand}) + if deleted is not None: + params.update({"deleted": deleted}) + response = self.osc.request( url=urljoin(self.osc.url, "{}/{}".format(self.base_path, project)), method="GET", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc_tiny-0.10.6/osctiny/tests/test_basic.py new/osc_tiny-0.10.7/osctiny/tests/test_basic.py --- old/osc_tiny-0.10.6/osctiny/tests/test_basic.py 2024-11-26 13:38:09.000000000 +0100 +++ new/osc_tiny-0.10.7/osctiny/tests/test_basic.py 2025-06-20 14:07:52.000000000 +0200 @@ -116,15 +116,14 @@ b"", "https://api.example.com/source/PROJECT", ), - # 'deleted' is a boolean param in the project endpoint ( {"deleted": True}, - b"deleted", + b"deleted=1", "https://api.example.com/source/PROJECT", ), ( {"deleted": False}, - b"", + b"deleted=0", "https://api.example.com/source/PROJECT", ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc_tiny-0.10.6/osctiny/tests/test_packages.py new/osc_tiny-0.10.7/osctiny/tests/test_packages.py --- old/osc_tiny-0.10.6/osctiny/tests/test_packages.py 2024-11-26 13:38:09.000000000 +0100 +++ new/osc_tiny-0.10.7/osctiny/tests/test_packages.py 2025-06-20 14:07:52.000000000 +0200 @@ -87,21 +87,64 @@ <entry name="SUSEConnect.9195"/> </directory> """ + deleted = params.get("deleted", None) + if deleted == ["1"]: + body = """ + <directory count="1"> + <entry name="SAPHanaSR.1234"/> + </directory> + """ + elif deleted == ["0"]: + body = """ + <directory count="16"> + <entry name="SAPHanaSR"/> + <entry name="SAPHanaSR:variant" originpackage="SAPHanaSR"/> + <entry name="SAPHanaSR.4926"/> + <entry name="SAPHanaSR.7820"/> + <entry name="SUSEConnect"/> + <entry name="SUSEConnect:test" originpackage="SUSEConnect"/> + <entry name="SUSEConnect.1732"/> + <entry name="SUSEConnect.1892"/> + <entry name="SUSEConnect.2196"/> + <entry name="SUSEConnect.2374"/> + <entry name="SUSEConnect.4293"/> + <entry name="SUSEConnect.4515"/> + <entry name="SUSEConnect.4773"/> + <entry name="SUSEConnect.7260"/> + <entry name="SUSEConnect.8868"/> + <entry name="SUSEConnect.9195"/> + </directory> + """ + headers['request-id'] = '728d329e-0e86-11e4-a748-0c84dc037c13' return status, headers, body self.mock_request( method=responses.GET, - url=self.osc.url + '/source/SUSE:SLE-12-SP1:Update/python.8549', + url=self.osc.url + '/source/SUSE:SLE-12-SP1:Update', callback=CallbackFactory(callback) ) - response = self.osc.packages.get_files( - "SUSE:SLE-12-SP1:Update", "python.8549" + # this is the default case without passing any arguments + response = self.osc.packages.get_list( + "SUSE:SLE-12-SP1:Update" ) self.assertEqual(response.tag, "directory") self.assertEqual(response.countchildren(), 14) + data = ( + ("default case", None, 14), + ("deleted true", True, 1), + ("deleted false", False, 16), + ) + for label, deleted, count in data: + with self.subTest(label): + response = self.osc.packages.get_list( + "SUSE:SLE-12-SP1:Update", deleted=deleted + ) + self.assertEqual(response.tag, "directory") + self.assertEqual(response.countchildren(), count) + @responses.activate def test_get_meta(self): def callback(headers, params, request): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc_tiny-0.10.6/osctiny/tests/test_utils.py new/osc_tiny-0.10.7/osctiny/tests/test_utils.py --- old/osc_tiny-0.10.6/osctiny/tests/test_utils.py 2024-11-26 13:38:09.000000000 +0100 +++ new/osc_tiny-0.10.7/osctiny/tests/test_utils.py 2025-06-20 14:07:52.000000000 +0200 @@ -245,23 +245,20 @@ self.assertEqual(len(cl.entries), 3) cl.write(path="/who/cares/test.changes") - - self.assertEqual(len(omock.mock_calls), 6) - content = "".join(str(omock.mock_calls[x][1][0]) - for x in range(2, 5)) - - self.assertEqual( - content, - "-------------------------------------------------------------------\n" - "Tue Jan 01 00:00:00 UTC 2019 - Andreas Hasenkopf <ahasenk...@suse.com>\n\n" - "Føø Bar\n\n" - "-------------------------------------------------------------------\n" - "Mon Jan 01 00:00:00 UTC 2018 - Andreas Pritschet <apritsc...@suse.com>\n\n" - "Hellø Wørld\n\n" - "-------------------------------------------------------------------\n" - "Sun Jan 01 00:00:00 UTC 2017 - Andreas Hasenkopf <ahasenk...@suse.com>\n\n" - "First enŧry\n\n" - ) + calls = [ + mock.call().write( + '-------------------------------------------------------------------\n' + 'Tue Jan 01 00:00:00 UTC 2019 - Andreas Hasenkopf <ahasenk...@suse.com>' + '\n\nFøø Bar\n\n'), + mock.call().write( + '-------------------------------------------------------------------\n' + 'Mon Jan 01 00:00:00 UTC 2018 - Andreas Pritschet <apritsc...@suse.com>' + '\n\nHellø Wørld\n\n'), + mock.call().write( + '-------------------------------------------------------------------\n' + 'Sun Jan 01 00:00:00 UTC 2017 - Andreas Hasenkopf <ahasenk...@suse.com>' + '\n\nFirst enŧry\n\n')] + omock.assert_has_calls(calls, any_order=True) def test_write_stringio(self): buffer = StringIO("") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc_tiny-0.10.6/osctiny/utils/conf.py new/osc_tiny-0.10.7/osctiny/utils/conf.py --- old/osc_tiny-0.10.6/osctiny/utils/conf.py 2024-11-26 13:38:09.000000000 +0100 +++ new/osc_tiny-0.10.7/osctiny/utils/conf.py 2025-06-20 14:07:52.000000000 +0200 @@ -31,7 +31,7 @@ 'extend_package_names', 'extend_package_names', 'keeplink', 'repairlink') }, "^/source/[^/]+/?$": { - 'GET': ('expand', 'deleted'), + 'GET': ('expand'), }, "^/source/[^/]+/[^/]+/[^/]+$": { 'PUT': ('keeplink',) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/osc_tiny-0.10.6/setup.py new/osc_tiny-0.10.7/setup.py --- old/osc_tiny-0.10.6/setup.py 2024-11-26 13:38:09.000000000 +0100 +++ new/osc_tiny-0.10.7/setup.py 2025-06-20 14:07:52.000000000 +0200 @@ -26,7 +26,7 @@ setup( name='osc-tiny', - version='0.10.6', + version='0.10.7', description='Client API for openSUSE BuildService', long_description=long_description, long_description_content_type="text/markdown",