Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-WSME for openSUSE:Factory 
checked in at 2023-12-01 21:27:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-WSME (Old)
 and      /work/SRC/openSUSE:Factory/.python-WSME.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-WSME"

Fri Dec  1 21:27:22 2023 rev:22 rq:1130307 version:0.12.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-WSME/python-WSME.changes  2022-04-16 
00:14:45.689690139 +0200
+++ /work/SRC/openSUSE:Factory/.python-WSME.new.25432/python-WSME.changes       
2023-12-01 21:27:39.070910837 +0100
@@ -1,0 +2,14 @@
+Fri Dec  1 16:48:47 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 0.12.1:
+  * setup: Fix classifier
+  * Drop support for Python < 3.8, use PTI test interface
+  * setup: Update classifiers
+  * Migrate to importlib.metadata
+  * Remove use of deprecated APIs
+  * Fix compatibility with recent Sphinx versions
+  * Fix flake8 issues
+  * tests: Migrate to pytest
+  * Fix code to work with Sphinx>5.0
+
+-------------------------------------------------------------------

Old:
----
  WSME-0.11.0.tar.gz

New:
----
  WSME-0.12.1.tar.gz

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

Other differences:
------------------
++++++ python-WSME.spec ++++++
--- /var/tmp/diff_new_pack.hYfY8c/_old  2023-12-01 21:27:39.574929385 +0100
+++ /var/tmp/diff_new_pack.hYfY8c/_new  2023-12-01 21:27:39.578929532 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-WSME
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,9 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%global skip_python2 1
+%{?sle15_python_module_pythons}
 Name:           python-WSME
-Version:        0.11.0
+Version:        0.12.1
 Release:        0
 Summary:        Web Services Made Easy
 License:        MIT

++++++ WSME-0.11.0.tar.gz -> WSME-0.12.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/.zuul.yaml new/WSME-0.12.1/.zuul.yaml
--- old/WSME-0.11.0/.zuul.yaml  2021-07-27 18:40:58.000000000 +0200
+++ new/WSME-0.12.1/.zuul.yaml  2023-09-21 19:49:10.000000000 +0200
@@ -1,5 +1,5 @@
+---
 - project:
     templates:
-      - openstack-python36-jobs
-      - openstack-python37-jobs
-      - openstack-python38-jobs
+      - openstack-python3-jobs
+      - publish-openstack-docs-pti
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/AUTHORS new/WSME-0.12.1/AUTHORS
--- old/WSME-0.11.0/AUTHORS     2021-07-27 18:41:34.000000000 +0200
+++ new/WSME-0.12.1/AUTHORS     2023-09-22 11:24:46.000000000 +0200
@@ -28,9 +28,11 @@
 Mehdi Abaakouk <sil...@sileht.net>
 Michael Johnson <johnso...@gmail.com>
 Michael Krotscheck <krotsch...@gmail.com>
+Rafael Weingärtner <raf...@apache.org>
 Ryan Petrello <li...@ryanpetrello.com>
 Sanu Madhavan <sanup...@gmail.com>
 Sascha Peilicke <speili...@suse.com>
+Stephen Finucane <sfinu...@redhat.com>
 Stephen Finucane <stephen...@redhat.com>
 Stéphane Bisinger <stephane.bisin...@gmail.com>
 Sławek Ehlert <sl...@op.pl>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/ChangeLog new/WSME-0.12.1/ChangeLog
--- old/WSME-0.11.0/ChangeLog   2021-07-27 18:41:34.000000000 +0200
+++ new/WSME-0.12.1/ChangeLog   2023-09-22 11:24:46.000000000 +0200
@@ -1,6 +1,23 @@
 CHANGES
 =======
 
+0.12.1
+------
+
+* setup: Fix classifier
+
+0.12.0
+------
+
+* Drop support for Python < 3.8, use PTI test interface
+* setup: Update classifiers
+* Migrate to importlib.metadata
+* Remove use of deprecated APIs
+* Fix compatibility with recent Sphinx versions
+* Fix flake8 issues
+* tests: Migrate to pytest
+* Fix code to work with Sphinx>5.0
+
 0.11.0
 ------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/PKG-INFO new/WSME-0.12.1/PKG-INFO
--- old/WSME-0.11.0/PKG-INFO    2021-07-27 18:41:34.471736400 +0200
+++ new/WSME-0.12.1/PKG-INFO    2023-09-22 11:24:47.065422000 +0200
@@ -1,130 +1,130 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
 Name: WSME
-Version: 0.11.0
+Version: 0.12.1
 Summary: Simplify the writing of REST APIs, and extend them with additional 
protocols.
 Home-page: https://opendev.org/x/wsme
 Author: Christophe de Vienne
 Author-email: python-w...@googlegroups.com
 License: MIT
-Description: Web Services Made Easy
-        ======================
-        
-        Introduction
-        ------------
-        
-        Web Services Made Easy (WSME) simplifies the writing of REST web 
services
-        by providing simple yet powerful typing, removing the need to directly
-        manipulate the request and the response objects.
-        
-        WSME can work standalone or on top of your favorite Python web
-        (micro)framework, so you can use both your preferred way of routing 
your REST
-        requests and most of the features of WSME that rely on the typing 
system like:
-        
-        - Alternate protocols, including those supporting batch-calls
-        - Easy documentation through a Sphinx_ extension
-        
-        WSME is originally a rewrite of TGWebServices with a focus on 
extensibility,
-        framework-independence and better type handling.
-        
-        How Easy?
-        ~~~~~~~~~
-        
-        Here is a standalone WSGI example::
-        
-            from wsme import WSRoot, expose
-        
-            class MyService(WSRoot):
-                @expose(unicode, unicode)  # First parameter is the return 
type,
-                                           # then the function argument types
-                def hello(self, who=u'World'):
-                    return u"Hello {0} !".format(who)
-        
-            ws = MyService(protocols=['restjson', 'restxml'])
-            application = ws.wsgiapp()
-        
-        With this published at the ``/ws`` path of your application, you can 
access your
-        hello function in various protocols:
-        
-        .. list-table::
-            :header-rows: 1
-        
-            * - URL
-              - Returns
-        
-            * - ``http://<server>/ws/hello.json?who=you``
-              - ``"Hello you !"``
-        
-            * - ``http://<server>/ws/hello.xml``
-              - ``<result>Hello World !</result>``
-        
-        Main features
-        ~~~~~~~~~~~~~
-        
-        - Very simple API.
-        
-        - Supports user-defined simple and complex types.
-        
-        - Multi-protocol : REST+JSON, REST+XML and more possible.
-        
-        - Extensible : easy to add more protocols or more base types.
-        
-        - Framework independence : adapters are provided to easily integrate 
your API in
-          any web framework, for example an WSGI container, Pecan_, Flask_, ...
-        
-        - Very few runtime dependencies: webob, simplegeneric.
-        
-        - Integration in `Sphinx`_ for making clean documentation with
-          ``wsmeext.sphinxext``.
-        
-        .. _Pecan: http://pecanpy.org/
-        .. _Flask: http://flask.pocoo.org/
-        
-        Install
-        ~~~~~~~
-        
-        ::
-        
-            pip install WSME
-        
-        Changes
-        ~~~~~~~
-        
-        - Read the `Changelog`_
-        
-        Getting Help
-        ~~~~~~~~~~~~
-        
-        - Read the `WSME Documentation`_.
-        - Questions about WSME should go to the `python-wsme mailinglist`_.
-        
-        Contribute
-        ~~~~~~~~~~
-        
-        - Documentation: http://packages.python.org/WSME/
-        - Source: http://git.openstack.org/cgit/openstack/wsme
-        - Bugs: https://bugs.launchpad.net/wsme/+bugs
-        - Code review: 
https://review.openstack.org/#/q/project:openstack/wsme,n,z
-        
-        .. _Changelog: http://packages.python.org/WSME/changes.html
-        .. _python-wsme mailinglist: http://groups.google.com/group/python-wsme
-        .. _WSME Documentation: http://packages.python.org/WSME/
-        .. _WSME issue tracker: https://bugs.launchpad.net/wsme/+bugs
-        .. _Sphinx: http://sphinx.pocoo.org/
-        
-        
-Platform: UNKNOWN
 Classifier: Development Status :: 3 - Alpha
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: Implementation :: CPython
-Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.6
+Requires-Python: >=3.8
+License-File: LICENSE
+License-File: AUTHORS
+Requires-Dist: WebOb>=1.8.0
+Requires-Dist: simplegeneric
+Requires-Dist: pytz
+Requires-Dist: netaddr>=0.7.12
+Requires-Dist: importlib_metadata>=4.4
+
+Web Services Made Easy
+======================
+
+Introduction
+------------
+
+Web Services Made Easy (WSME) simplifies the writing of REST web services
+by providing simple yet powerful typing, removing the need to directly
+manipulate the request and the response objects.
+
+WSME can work standalone or on top of your favorite Python web
+(micro)framework, so you can use both your preferred way of routing your REST
+requests and most of the features of WSME that rely on the typing system like:
+
+- Alternate protocols, including those supporting batch-calls
+- Easy documentation through a Sphinx_ extension
+
+WSME is originally a rewrite of TGWebServices with a focus on extensibility,
+framework-independence and better type handling.
+
+How Easy?
+~~~~~~~~~
+
+Here is a standalone WSGI example::
+
+    from wsme import WSRoot, expose
+
+    class MyService(WSRoot):
+        @expose(unicode, unicode)  # First parameter is the return type,
+                                   # then the function argument types
+        def hello(self, who=u'World'):
+            return u"Hello {0} !".format(who)
+
+    ws = MyService(protocols=['restjson', 'restxml'])
+    application = ws.wsgiapp()
+
+With this published at the ``/ws`` path of your application, you can access 
your
+hello function in various protocols:
+
+.. list-table::
+    :header-rows: 1
+
+    * - URL
+      - Returns
+
+    * - ``http://<server>/ws/hello.json?who=you``
+      - ``"Hello you !"``
+
+    * - ``http://<server>/ws/hello.xml``
+      - ``<result>Hello World !</result>``
+
+Main features
+~~~~~~~~~~~~~
+
+- Very simple API.
+
+- Supports user-defined simple and complex types.
+
+- Multi-protocol : REST+JSON, REST+XML and more possible.
+
+- Extensible : easy to add more protocols or more base types.
+
+- Framework independence : adapters are provided to easily integrate your API 
in
+  any web framework, for example an WSGI container, Pecan_, Flask_, ...
+
+- Very few runtime dependencies: webob, simplegeneric.
+
+- Integration in `Sphinx`_ for making clean documentation with
+  ``wsmeext.sphinxext``.
+
+.. _Pecan: http://pecanpy.org/
+.. _Flask: http://flask.pocoo.org/
+
+Install
+~~~~~~~
+
+::
+
+    pip install WSME
+
+Changes
+~~~~~~~
+
+- Read the `Changelog`_
+
+Getting Help
+~~~~~~~~~~~~
+
+- Read the `WSME Documentation`_.
+- Questions about WSME should go to the `python-wsme mailinglist`_.
+
+Contribute
+~~~~~~~~~~
+
+- Documentation: http://packages.python.org/WSME/
+- Source: http://git.openstack.org/cgit/openstack/wsme
+- Bugs: https://bugs.launchpad.net/wsme/+bugs
+- Code review: https://review.openstack.org/#/q/project:openstack/wsme,n,z
+
+.. _Changelog: http://packages.python.org/WSME/changes.html
+.. _python-wsme mailinglist: http://groups.google.com/group/python-wsme
+.. _WSME Documentation: http://packages.python.org/WSME/
+.. _WSME issue tracker: https://bugs.launchpad.net/wsme/+bugs
+.. _Sphinx: http://sphinx.pocoo.org/
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/WSME.egg-info/PKG-INFO 
new/WSME-0.12.1/WSME.egg-info/PKG-INFO
--- old/WSME-0.11.0/WSME.egg-info/PKG-INFO      2021-07-27 18:41:34.000000000 
+0200
+++ new/WSME-0.12.1/WSME.egg-info/PKG-INFO      2023-09-22 11:24:46.000000000 
+0200
@@ -1,130 +1,130 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
 Name: WSME
-Version: 0.11.0
+Version: 0.12.1
 Summary: Simplify the writing of REST APIs, and extend them with additional 
protocols.
 Home-page: https://opendev.org/x/wsme
 Author: Christophe de Vienne
 Author-email: python-w...@googlegroups.com
 License: MIT
-Description: Web Services Made Easy
-        ======================
-        
-        Introduction
-        ------------
-        
-        Web Services Made Easy (WSME) simplifies the writing of REST web 
services
-        by providing simple yet powerful typing, removing the need to directly
-        manipulate the request and the response objects.
-        
-        WSME can work standalone or on top of your favorite Python web
-        (micro)framework, so you can use both your preferred way of routing 
your REST
-        requests and most of the features of WSME that rely on the typing 
system like:
-        
-        - Alternate protocols, including those supporting batch-calls
-        - Easy documentation through a Sphinx_ extension
-        
-        WSME is originally a rewrite of TGWebServices with a focus on 
extensibility,
-        framework-independence and better type handling.
-        
-        How Easy?
-        ~~~~~~~~~
-        
-        Here is a standalone WSGI example::
-        
-            from wsme import WSRoot, expose
-        
-            class MyService(WSRoot):
-                @expose(unicode, unicode)  # First parameter is the return 
type,
-                                           # then the function argument types
-                def hello(self, who=u'World'):
-                    return u"Hello {0} !".format(who)
-        
-            ws = MyService(protocols=['restjson', 'restxml'])
-            application = ws.wsgiapp()
-        
-        With this published at the ``/ws`` path of your application, you can 
access your
-        hello function in various protocols:
-        
-        .. list-table::
-            :header-rows: 1
-        
-            * - URL
-              - Returns
-        
-            * - ``http://<server>/ws/hello.json?who=you``
-              - ``"Hello you !"``
-        
-            * - ``http://<server>/ws/hello.xml``
-              - ``<result>Hello World !</result>``
-        
-        Main features
-        ~~~~~~~~~~~~~
-        
-        - Very simple API.
-        
-        - Supports user-defined simple and complex types.
-        
-        - Multi-protocol : REST+JSON, REST+XML and more possible.
-        
-        - Extensible : easy to add more protocols or more base types.
-        
-        - Framework independence : adapters are provided to easily integrate 
your API in
-          any web framework, for example an WSGI container, Pecan_, Flask_, ...
-        
-        - Very few runtime dependencies: webob, simplegeneric.
-        
-        - Integration in `Sphinx`_ for making clean documentation with
-          ``wsmeext.sphinxext``.
-        
-        .. _Pecan: http://pecanpy.org/
-        .. _Flask: http://flask.pocoo.org/
-        
-        Install
-        ~~~~~~~
-        
-        ::
-        
-            pip install WSME
-        
-        Changes
-        ~~~~~~~
-        
-        - Read the `Changelog`_
-        
-        Getting Help
-        ~~~~~~~~~~~~
-        
-        - Read the `WSME Documentation`_.
-        - Questions about WSME should go to the `python-wsme mailinglist`_.
-        
-        Contribute
-        ~~~~~~~~~~
-        
-        - Documentation: http://packages.python.org/WSME/
-        - Source: http://git.openstack.org/cgit/openstack/wsme
-        - Bugs: https://bugs.launchpad.net/wsme/+bugs
-        - Code review: 
https://review.openstack.org/#/q/project:openstack/wsme,n,z
-        
-        .. _Changelog: http://packages.python.org/WSME/changes.html
-        .. _python-wsme mailinglist: http://groups.google.com/group/python-wsme
-        .. _WSME Documentation: http://packages.python.org/WSME/
-        .. _WSME issue tracker: https://bugs.launchpad.net/wsme/+bugs
-        .. _Sphinx: http://sphinx.pocoo.org/
-        
-        
-Platform: UNKNOWN
 Classifier: Development Status :: 3 - Alpha
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: Implementation :: CPython
-Classifier: Programming Language :: Python :: Implementation :: PyPy
+Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.6
+Requires-Python: >=3.8
+License-File: LICENSE
+License-File: AUTHORS
+Requires-Dist: WebOb>=1.8.0
+Requires-Dist: simplegeneric
+Requires-Dist: pytz
+Requires-Dist: netaddr>=0.7.12
+Requires-Dist: importlib_metadata>=4.4
+
+Web Services Made Easy
+======================
+
+Introduction
+------------
+
+Web Services Made Easy (WSME) simplifies the writing of REST web services
+by providing simple yet powerful typing, removing the need to directly
+manipulate the request and the response objects.
+
+WSME can work standalone or on top of your favorite Python web
+(micro)framework, so you can use both your preferred way of routing your REST
+requests and most of the features of WSME that rely on the typing system like:
+
+- Alternate protocols, including those supporting batch-calls
+- Easy documentation through a Sphinx_ extension
+
+WSME is originally a rewrite of TGWebServices with a focus on extensibility,
+framework-independence and better type handling.
+
+How Easy?
+~~~~~~~~~
+
+Here is a standalone WSGI example::
+
+    from wsme import WSRoot, expose
+
+    class MyService(WSRoot):
+        @expose(unicode, unicode)  # First parameter is the return type,
+                                   # then the function argument types
+        def hello(self, who=u'World'):
+            return u"Hello {0} !".format(who)
+
+    ws = MyService(protocols=['restjson', 'restxml'])
+    application = ws.wsgiapp()
+
+With this published at the ``/ws`` path of your application, you can access 
your
+hello function in various protocols:
+
+.. list-table::
+    :header-rows: 1
+
+    * - URL
+      - Returns
+
+    * - ``http://<server>/ws/hello.json?who=you``
+      - ``"Hello you !"``
+
+    * - ``http://<server>/ws/hello.xml``
+      - ``<result>Hello World !</result>``
+
+Main features
+~~~~~~~~~~~~~
+
+- Very simple API.
+
+- Supports user-defined simple and complex types.
+
+- Multi-protocol : REST+JSON, REST+XML and more possible.
+
+- Extensible : easy to add more protocols or more base types.
+
+- Framework independence : adapters are provided to easily integrate your API 
in
+  any web framework, for example an WSGI container, Pecan_, Flask_, ...
+
+- Very few runtime dependencies: webob, simplegeneric.
+
+- Integration in `Sphinx`_ for making clean documentation with
+  ``wsmeext.sphinxext``.
+
+.. _Pecan: http://pecanpy.org/
+.. _Flask: http://flask.pocoo.org/
+
+Install
+~~~~~~~
+
+::
+
+    pip install WSME
+
+Changes
+~~~~~~~
+
+- Read the `Changelog`_
+
+Getting Help
+~~~~~~~~~~~~
+
+- Read the `WSME Documentation`_.
+- Questions about WSME should go to the `python-wsme mailinglist`_.
+
+Contribute
+~~~~~~~~~~
+
+- Documentation: http://packages.python.org/WSME/
+- Source: http://git.openstack.org/cgit/openstack/wsme
+- Bugs: https://bugs.launchpad.net/wsme/+bugs
+- Code review: https://review.openstack.org/#/q/project:openstack/wsme,n,z
+
+.. _Changelog: http://packages.python.org/WSME/changes.html
+.. _python-wsme mailinglist: http://groups.google.com/group/python-wsme
+.. _WSME Documentation: http://packages.python.org/WSME/
+.. _WSME issue tracker: https://bugs.launchpad.net/wsme/+bugs
+.. _Sphinx: http://sphinx.pocoo.org/
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/WSME.egg-info/entry_points.txt 
new/WSME-0.12.1/WSME.egg-info/entry_points.txt
--- old/WSME-0.11.0/WSME.egg-info/entry_points.txt      2021-07-27 
18:41:34.000000000 +0200
+++ new/WSME-0.12.1/WSME.egg-info/entry_points.txt      2023-09-22 
11:24:46.000000000 +0200
@@ -2,4 +2,3 @@
 rest = wsme.rest.protocol:RestProtocol
 restjson = wsme.rest.protocol:RestProtocol
 restxml = wsme.rest.protocol:RestProtocol
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/WSME.egg-info/pbr.json 
new/WSME-0.12.1/WSME.egg-info/pbr.json
--- old/WSME-0.11.0/WSME.egg-info/pbr.json      2021-07-27 18:41:34.000000000 
+0200
+++ new/WSME-0.12.1/WSME.egg-info/pbr.json      2023-09-22 11:24:46.000000000 
+0200
@@ -1 +1 @@
-{"git_version": "80bda90", "is_release": true}
\ No newline at end of file
+{"git_version": "8312bb2", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/WSME.egg-info/requires.txt 
new/WSME-0.12.1/WSME.egg-info/requires.txt
--- old/WSME-0.11.0/WSME.egg-info/requires.txt  2021-07-27 18:41:34.000000000 
+0200
+++ new/WSME-0.12.1/WSME.egg-info/requires.txt  2023-09-22 11:24:46.000000000 
+0200
@@ -1,4 +1,5 @@
 WebOb>=1.8.0
-netaddr>=0.7.12
-pytz
 simplegeneric
+pytz
+netaddr>=0.7.12
+importlib_metadata>=4.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/requirements.txt 
new/WSME-0.12.1/requirements.txt
--- old/WSME-0.11.0/requirements.txt    2021-07-27 18:40:58.000000000 +0200
+++ new/WSME-0.12.1/requirements.txt    2023-09-21 19:49:10.000000000 +0200
@@ -2,3 +2,5 @@
 simplegeneric
 pytz
 netaddr>=0.7.12
+# TODO: Drop this when Python 3.10 is our minimum supported version
+importlib_metadata>=4.4 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/setup.cfg new/WSME-0.12.1/setup.cfg
--- old/WSME-0.11.0/setup.cfg   2021-07-27 18:41:34.475736400 +0200
+++ new/WSME-0.12.1/setup.cfg   2023-09-22 11:24:47.066422000 +0200
@@ -1,24 +1,18 @@
 [metadata]
 name = WSME
-author = Christophe de Vienne
-author-email = python-w...@googlegroups.com
 summary = Simplify the writing of REST APIs, and extend them with additional 
protocols.
-description-file = README.rst
+author = Christophe de Vienne
+author_email = python-w...@googlegroups.com
+description_file = README.rst
 url = https://opendev.org/x/wsme
 license = MIT
-python_requires = >=3.6
+python_requires = >=3.8
 classifier = 
        Development Status :: 3 - Alpha
        Operating System :: OS Independent
        Programming Language :: Python
        Programming Language :: Python :: 3
-       Programming Language :: Python :: 3.5
-       Programming Language :: Python :: 3.6
-       Programming Language :: Python :: 3.7
-       Programming Language :: Python :: 3.8
-       Programming Language :: Python :: 3.9
-       Programming Language :: Python :: Implementation :: CPython
-       Programming Language :: Python :: Implementation :: PyPy
+       Programming Language :: Python :: 3 :: Only
        License :: OSI Approved :: MIT License
        Topic :: Internet :: WWW/HTTP :: WSGI
        Topic :: Software Development :: Libraries :: Python Modules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/test-requirements.txt 
new/WSME-0.12.1/test-requirements.txt
--- old/WSME-0.11.0/test-requirements.txt       2021-07-27 18:40:58.000000000 
+0200
+++ new/WSME-0.12.1/test-requirements.txt       2023-09-21 19:49:10.000000000 
+0200
@@ -2,7 +2,7 @@
 pecan
 sphinx>=3.0.0 # BSD
 Flask
-flask-restful
-nose
-coverage!=4.4,>=4.0 # Apache-2.0
-webtest
+Flask-RESTful # BSD
+pytest # MIT
+pytest-cov # MIT
+WebTest # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/tox.ini new/WSME-0.12.1/tox.ini
--- old/WSME-0.11.0/tox.ini     2021-07-27 18:40:58.000000000 +0200
+++ new/WSME-0.12.1/tox.ini     2023-09-21 19:49:10.000000000 +0200
@@ -1,29 +1,23 @@
 [tox]
 minversion = 3.1
-envlist = py36,py37,py38,py39,pypy,coverage,pep8
-ignore_basepython_conflict = true
+envlist = py3,coverage,pep8
 
 [testenv]
-basepython = python3
-setenv =
-  COVERAGE_FILE=.coverage.{envname}
 deps =
   -r test-requirements.txt
 commands =
-  {envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit 
--xunit-file nosetests-{envname}.xml wsme/tests tests/pecantest 
tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
-  {envbindir}/coverage report --show-missing 
--include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit "wsme/tests/*"
+  pytest wsme/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py
 
 [testenv:coverage]
-setenv =
-  COVERAGE_FILE=.coverage
 commands =
-  {envbindir}/coverage erase
-  {envbindir}/coverage combine
-  {envbindir}/coverage xml 
--include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit "wsme/tests/*"
-  {envbindir}/coverage report --show-missing 
--include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit "wsme/tests/*"
+  coverage erase
+  pytest --cov=wsme --cov=wsme_ext wsme/tests tests/pecantest 
tests/test_sphinxext.py tests/test_flask.py
+  coverage combine
+  coverage xml --include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit 
"wsme/tests/*"
+  coverage report --show-missing 
--include="wsme/*.py","wsme/rest/*.py","wsmeext/*.py" --omit "wsme/tests/*"
 
 [testenv:docs]
-whitelist_externals =
+allowlist_externals =
   rm
 deps =
   -r doc/requirements.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/wsme/protocol.py 
new/WSME-0.12.1/wsme/protocol.py
--- old/WSME-0.11.0/wsme/protocol.py    2021-07-27 18:40:58.000000000 +0200
+++ new/WSME-0.12.1/wsme/protocol.py    2023-09-21 19:49:10.000000000 +0200
@@ -1,6 +1,6 @@
 import weakref
 
-import pkg_resources
+import importlib_metadata
 
 from wsme.exc import ClientSideError
 
@@ -106,8 +106,9 @@
 def getprotocol(name, **options):
     protocol_class = registered_protocols.get(name)
     if protocol_class is None:
-        for entry_point in pkg_resources.iter_entry_points(
-                'wsme.protocols', name):
+        for entry_point in importlib_metadata.entry_points().select(
+            group='wsme.protocols',
+        ):
             if entry_point.name == name:
                 protocol_class = entry_point.load()
         if protocol_class is None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/wsme/tests/test_restjson.py 
new/WSME-0.12.1/wsme/tests/test_restjson.py
--- old/WSME-0.11.0/wsme/tests/test_restjson.py 2021-07-27 18:40:58.000000000 
+0200
+++ new/WSME-0.12.1/wsme/tests/test_restjson.py 2023-09-21 19:49:10.000000000 
+0200
@@ -72,7 +72,7 @@
         return value
     if datatype == wsme.types.bytes:
         return value.encode('ascii')
-    if type(value) != datatype:
+    if type(value) is not datatype:
         print(type(value), datatype)
         return datatype(value)
     return value
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/wsme/tests/test_restxml.py 
new/WSME-0.12.1/wsme/tests/test_restxml.py
--- old/WSME-0.11.0/wsme/tests/test_restxml.py  2021-07-27 18:40:58.000000000 
+0200
+++ new/WSME-0.12.1/wsme/tests/test_restxml.py  2023-09-21 19:49:10.000000000 
+0200
@@ -45,7 +45,7 @@
                 continue
             o = obj[name]
             el.append(dumpxml(name, o, attr.datatype))
-    elif type(obj) == dict:
+    elif type(obj) is dict:
         for name, value in obj.items():
             el.append(dumpxml(name, value))
     print(obj, datatype, et.tostring(el))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/wsme/tests/test_types.py 
new/WSME-0.12.1/wsme/tests/test_types.py
--- old/WSME-0.11.0/wsme/tests/test_types.py    2021-07-27 18:40:58.000000000 
+0200
+++ new/WSME-0.12.1/wsme/tests/test_types.py    2023-09-21 19:49:10.000000000 
+0200
@@ -177,13 +177,14 @@
         obj.a = 'v1'
         assert obj.a == 'v1', repr(obj.a)
 
-        self.assertRaisesRegexp(exc.InvalidInput,
-                                "Invalid input for field/attribute a. \
-Value: 'v3'. Value should be one of: v., v.",
-                                setattr,
-                                obj,
-                                'a',
-                                'v3')
+        self.assertRaisesRegex(
+            exc.InvalidInput,
+            "Invalid input for field/attribute a. "
+            "Value: 'v3'. Value should be one of: v., v.",
+            setattr,
+            obj,
+            'a',
+            'v3')
 
     def test_attribute_validation(self):
         class AType(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/wsmeext/flask.py 
new/WSME-0.12.1/wsmeext/flask.py
--- old/WSME-0.11.0/wsmeext/flask.py    2021-07-27 18:40:58.000000000 +0200
+++ new/WSME-0.12.1/wsmeext/flask.py    2023-09-21 19:49:10.000000000 +0200
@@ -42,7 +42,7 @@
     sig = wsme.signature(*args, **kw)
 
     def decorator(f):
-        args = inspect.getargspec(f)[0]
+        args = inspect.getfullargspec(f)[0]
         ismethod = args and args[0] == 'self'
         sig(f)
         funcdef = wsme.api.FunctionDefinition.get(f)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/WSME-0.11.0/wsmeext/sphinxext.py 
new/WSME-0.12.1/wsmeext/sphinxext.py
--- old/WSME-0.11.0/wsmeext/sphinxext.py        2021-07-27 18:40:58.000000000 
+0200
+++ new/WSME-0.12.1/wsmeext/sphinxext.py        2023-09-21 19:49:10.000000000 
+0200
@@ -191,7 +191,7 @@
 
     option_spec = dict(
         autodoc.ClassDocumenter.option_spec,
-        **{'protocols': lambda l: [v.strip() for v in l.split(',')],
+        **{'protocols': lambda line: [v.strip() for v in line.split(',')],
            'samples-slot': check_samples_slot,
            })
 
@@ -223,13 +223,12 @@
         else:
             return False
 
-    def add_content(self, more_content, no_docstring=False):
+    def add_content(self, more_content):
         # Check where to include the samples
         samples_slot = self.options.samples_slot or self.default_samples_slot
 
         def add_docstring():
-            super(TypeDocumenter, self).add_content(
-                more_content, no_docstring)
+            super(TypeDocumenter, self).add_content(more_content)
 
         def add_samples():
             protocols = get_protocols(
@@ -284,14 +283,13 @@
             self.datatype = self.object.datatype
         return success
 
-    def add_content(self, more_content, no_docstring=False):
+    def add_content(self, more_content):
         self.add_line(
             u':type: %s' % datatypename(self.datatype),
             '<wsmeext.sphinxext>'
         )
         self.add_line(u'', '<wsmeext.sphinxext>')
-        super(AttributeDocumenter, self).add_content(
-            more_content, no_docstring)
+        super(AttributeDocumenter, self).add_content(more_content)
 
     def add_directive_header(self, sig):
         super(AttributeDocumenter, self).add_directive_header(sig)
@@ -376,7 +374,7 @@
     objtype = 'function'
 
     def get_signature_prefix(self, sig):
-        return 'function '
+        return []
 
 
 def document_function(funcdef, docstrings=None, protocols=['restjson']):
@@ -528,8 +526,8 @@
             self.wsme_fd, docstrings, protocols
         )
 
-    def add_content(self, more_content, no_docstring=False):
-        super(FunctionDocumenter, self).add_content(more_content, no_docstring)
+    def add_content(self, more_content):
+        super(FunctionDocumenter, self).add_content(more_content)
 
     def format_name(self):
         return self.wsme_fd.name

Reply via email to