Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Flask-RESTful for
openSUSE:Factory checked in at 2023-07-03 17:42:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Flask-RESTful (Old)
and /work/SRC/openSUSE:Factory/.python-Flask-RESTful.new.13546 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Flask-RESTful"
Mon Jul 3 17:42:18 2023 rev:7 rq:1096325 version:0.3.10
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-Flask-RESTful/python-Flask-RESTful.changes
2021-07-08 22:49:36.283920053 +0200
+++
/work/SRC/openSUSE:Factory/.python-Flask-RESTful.new.13546/python-Flask-RESTful.changes
2023-07-03 17:42:20.748563289 +0200
@@ -1,0 +2,6 @@
+Sat Jul 1 20:55:41 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 0.3.10:
+ * Compatibility with Flask 2.3
+
+-------------------------------------------------------------------
Old:
----
Flask-RESTful-0.3.9.tar.gz
New:
----
Flask-RESTful-0.3.10.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Flask-RESTful.spec ++++++
--- /var/tmp/diff_new_pack.6sLBlu/_old 2023-07-03 17:42:21.428567293 +0200
+++ /var/tmp/diff_new_pack.6sLBlu/_new 2023-07-03 17:42:21.432567316 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-Flask-RESTful
#
-# Copyright (c) 2021 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
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-Flask-RESTful
-Version: 0.3.9
+Version: 0.3.10
Release: 0
Summary: Framework for creating REST APIs
License: BSD-3-Clause
++++++ Flask-RESTful-0.3.9.tar.gz -> Flask-RESTful-0.3.10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-RESTful-0.3.9/Flask_RESTful.egg-info/PKG-INFO
new/Flask-RESTful-0.3.10/Flask_RESTful.egg-info/PKG-INFO
--- old/Flask-RESTful-0.3.9/Flask_RESTful.egg-info/PKG-INFO 2021-05-17
21:23:11.000000000 +0200
+++ new/Flask-RESTful-0.3.10/Flask_RESTful.egg-info/PKG-INFO 2023-05-21
05:55:52.000000000 +0200
@@ -1,12 +1,12 @@
Metadata-Version: 2.1
Name: Flask-RESTful
-Version: 0.3.9
+Version: 0.3.10
Summary: Simple framework for creating REST APIs
Home-page: https://www.github.com/flask-restful/flask-restful/
Author: Twilio API Team
Author-email: [email protected]
License: BSD
-Description: UNKNOWN
+Project-URL: Source, https://github.com/flask-restful/flask-restful
Platform: any
Classifier: Framework :: Flask
Classifier: Programming Language :: Python :: 2
@@ -19,3 +19,5 @@
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: BSD License
Provides-Extra: docs
+License-File: LICENSE
+License-File: AUTHORS.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-RESTful-0.3.9/Makefile
new/Flask-RESTful-0.3.10/Makefile
--- old/Flask-RESTful-0.3.9/Makefile 2021-05-17 21:18:29.000000000 +0200
+++ new/Flask-RESTful-0.3.10/Makefile 2023-05-21 05:48:12.000000000 +0200
@@ -4,7 +4,7 @@
PYTHON_MAJOR := 3
endif
ifndef PYTHON_MINOR
- PYTHON_MINOR := 8
+ PYTHON_MINOR := 9
endif
ENV := env/py$(PYTHON_MAJOR)$(PYTHON_MINOR)
else
@@ -139,7 +139,7 @@
test: .depends-test .clean-test
$(NOSE) tests --with-coverage --cover-package=$(PACKAGE)
-test-all: test-py27 test-py34 test-py35 test-py36 test-py37 test-py38
+test-all: test-py27 test-py34 test-py35 test-py36 test-py37 test-py38
test-py39 test-py10 test-py11
test-py27:
PYTHON_MAJOR=2 PYTHON_MINOR=7 $(MAKE) test
test-py34:
@@ -152,6 +152,12 @@
PYTHON_MAJOR=3 PYTHON_MINOR=7 $(MAKE) test
test-py38:
PYTHON_MAJOR=3 PYTHON_MINOR=8 $(MAKE) test
+test-py39:
+ PYTHON_MAJOR=3 PYTHON_MINOR=9 $(MAKE) test
+test-py310:
+ PYTHON_MAJOR=3 PYTHON_MINOR=10 $(MAKE) test
+test-py311:
+ PYTHON_MAJOR=3 PYTHON_MINOR=11 $(MAKE) test
.PHONY: htmlcov
htmlcov: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-RESTful-0.3.9/PKG-INFO
new/Flask-RESTful-0.3.10/PKG-INFO
--- old/Flask-RESTful-0.3.9/PKG-INFO 2021-05-17 21:23:11.894976600 +0200
+++ new/Flask-RESTful-0.3.10/PKG-INFO 2023-05-21 05:55:52.728482500 +0200
@@ -1,12 +1,12 @@
Metadata-Version: 2.1
Name: Flask-RESTful
-Version: 0.3.9
+Version: 0.3.10
Summary: Simple framework for creating REST APIs
Home-page: https://www.github.com/flask-restful/flask-restful/
Author: Twilio API Team
Author-email: [email protected]
License: BSD
-Description: UNKNOWN
+Project-URL: Source, https://github.com/flask-restful/flask-restful
Platform: any
Classifier: Framework :: Flask
Classifier: Programming Language :: Python :: 2
@@ -19,3 +19,5 @@
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: BSD License
Provides-Extra: docs
+License-File: LICENSE
+License-File: AUTHORS.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-RESTful-0.3.9/flask_restful/__init__.py
new/Flask-RESTful-0.3.10/flask_restful/__init__.py
--- old/Flask-RESTful-0.3.9/flask_restful/__init__.py 2021-05-17
21:16:30.000000000 +0200
+++ new/Flask-RESTful-0.3.10/flask_restful/__init__.py 2023-05-21
05:45:44.000000000 +0200
@@ -18,6 +18,7 @@
except ImportError:
from collections import Mapping
+_PROPAGATE_EXCEPTIONS = 'PROPAGATE_EXCEPTIONS'
__all__ = ('Api', 'Resource', 'marshal', 'marshal_with', 'marshal_with_field',
'abort')
@@ -26,7 +27,7 @@
"""Raise a HTTPException for the given http_status_code. Attach any keyword
arguments to the exception for later processing.
"""
- #noinspection PyUnresolvedReferences
+ # noinspection PyUnresolvedReferences
try:
original_flask_abort(http_status_code)
except HTTPException as e:
@@ -34,6 +35,32 @@
e.data = kwargs
raise
+
+def _get_propagate_exceptions_bool(app):
+ """Handle Flask's propagate_exceptions.
+
+ If propagate_exceptions is set to True then the exceptions are re-raised
rather than being handled
+ by the appâs error handlers.
+
+ The default value for Flask's app.config['PROPAGATE_EXCEPTIONS'] is None.
In this case return a sensible
+ value: self.testing or self.debug.
+ """
+ propagate_exceptions = app.config.get(_PROPAGATE_EXCEPTIONS, False)
+ if propagate_exceptions is None:
+ return app.testing or app.debug
+ return propagate_exceptions
+
+
+def _handle_flask_propagate_exceptions_config(app, e):
+ propagate_exceptions = _get_propagate_exceptions_bool(app)
+ if not isinstance(e, HTTPException) and propagate_exceptions:
+ exc_type, exc_value, tb = sys.exc_info()
+ if exc_value is e:
+ raise
+ else:
+ raise e
+
+
DEFAULT_REPRESENTATIONS = [('application/json', output_json)]
@@ -280,19 +307,14 @@
"""
got_request_exception.send(current_app._get_current_object(),
exception=e)
- if not isinstance(e, HTTPException) and
current_app.propagate_exceptions:
- exc_type, exc_value, tb = sys.exc_info()
- if exc_value is e:
- raise
- else:
- raise e
+ _handle_flask_propagate_exceptions_config(current_app, e)
headers = Headers()
if isinstance(e, HTTPException):
if e.response is not None:
# If HTTPException is initialized with a response, then return
e.get_response().
# This prevents specified error response from being overridden.
- # eg. HTTPException(response=Response("Hello World"))
+ # e.g., HTTPException(response=Response("Hello World"))
resp = e.get_response()
return resp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-RESTful-0.3.9/flask_restful/__version__.py
new/Flask-RESTful-0.3.10/flask_restful/__version__.py
--- old/Flask-RESTful-0.3.9/flask_restful/__version__.py 2021-05-17
21:21:14.000000000 +0200
+++ new/Flask-RESTful-0.3.10/flask_restful/__version__.py 2023-05-21
05:46:59.000000000 +0200
@@ -1,3 +1,3 @@
#!/usr/bin/env python
-__version__ = '0.3.9'
+__version__ = '0.3.10'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-RESTful-0.3.9/setup.py
new/Flask-RESTful-0.3.10/setup.py
--- old/Flask-RESTful-0.3.9/setup.py 2020-02-06 14:42:49.000000000 +0100
+++ new/Flask-RESTful-0.3.10/setup.py 2023-05-21 05:44:25.000000000 +0200
@@ -33,6 +33,9 @@
version=version,
license='BSD',
url='https://www.github.com/flask-restful/flask-restful/',
+ project_urls={
+ 'Source': 'https://github.com/flask-restful/flask-restful',
+ },
author='Twilio API Team',
author_email='[email protected]',
description='Simple framework for creating REST APIs',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Flask-RESTful-0.3.9/tests/test_api.py
new/Flask-RESTful-0.3.10/tests/test_api.py
--- old/Flask-RESTful-0.3.9/tests/test_api.py 2021-05-17 21:16:30.000000000
+0200
+++ new/Flask-RESTful-0.3.10/tests/test_api.py 2023-05-21 05:51:10.000000000
+0200
@@ -18,6 +18,19 @@
from json import dumps, loads, JSONEncoder
from nose.tools import assert_equal # you need it for tests in form of
continuations
import six
+from types import SimpleNamespace
+from unittest.mock import patch
+
+_FLASK_RESTFUL_SYS_EXC_INFO = 'flask_restful.sys.exc_info'
+_PROPAGATE_EXCEPTIONS = 'PROPAGATE_EXCEPTIONS'
+_APP_ENDPOINT = '/foo'
+
+
+def setup_propagate_exceptions(propagate_exceptions):
+ app = Flask(__name__)
+ app.config[_PROPAGATE_EXCEPTIONS] = propagate_exceptions
+ api = flask_restful.Api(app)
+ return SimpleNamespace(app=app, api=api)
def check_unpack(expected, value):
@@ -117,6 +130,27 @@
self.assertEqual(resp.status_code, 400)
self.assertEqual(resp.get_data(), b'{"message": "x"}\n')
+ @patch(_FLASK_RESTFUL_SYS_EXC_INFO)
+ def test_handle_error_propagate_exceptions_raise_exception(self,
mock_sys_exc_info):
+ setup = setup_propagate_exceptions(True)
+ mock_sys_exc_info.return_value = (KeyError, ValueError,
Exception.__traceback__)
+ with setup.app.test_request_context(_APP_ENDPOINT):
+ self.assertRaises(KeyError, setup.api.handle_error, KeyError)
+
+ @patch(_FLASK_RESTFUL_SYS_EXC_INFO)
+ def test_handle_error_propagate_exceptions_raise(self, mock_sys_exc_info):
+ setup = setup_propagate_exceptions(True)
+ mock_sys_exc_info.return_value = (KeyError, ValueError,
Exception.__traceback__)
+ with setup.app.test_request_context(_APP_ENDPOINT):
+ self.assertRaises(Exception, setup.api.handle_error, ValueError)
+
+ @patch(_FLASK_RESTFUL_SYS_EXC_INFO)
+ def test_handle_error_propagate_exceptions_none(self, mock_sys_exc_info):
+ setup = setup_propagate_exceptions(None)
+ mock_sys_exc_info.return_value = (KeyError, ValueError,
Exception.__traceback__)
+ setup.app.debug = True
+ with setup.app.test_request_context(_APP_ENDPOINT):
+ self.assertRaises(Exception, setup.api.handle_error, ValueError)
def test_handle_error_does_not_swallow_custom_exceptions(self):
app = Flask(__name__)
@@ -505,7 +539,7 @@
with app.test_request_context('/foo'):
api.error_router(exception, app.handle_exception)
- self.assertTrue(app.handle_exception.called_with(exception))
+ # self.assertTrue(app.handle_exception.called_with(exception))
def test_media_types(self):
app = Flask(__name__)