Package init

This commit is contained in:
dogsheng 2019-11-19 11:53:49 +08:00
commit b4a4d32b55
6 changed files with 203 additions and 0 deletions

BIN
0.3.6.tar.gz Normal file

Binary file not shown.

View File

@ -0,0 +1,62 @@
From f71b4f61d96c43748ca1cb9002f874a8d8276312 Mon Sep 17 00:00:00 2001
From: Stephen Pascoe <stephen.pascoe@lirico.co.uk>
Date: Wed, 4 Oct 2017 01:01:47 +0100
Subject: [PATCH] Fix arguments with type=list (#705)
Closes #681
---
flask_restful/reqparse.py | 2 +-
tests/test_reqparse.py | 25 +++++++++++++++++++++++++
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/flask_restful/reqparse.py b/flask_restful/reqparse.py
index 8fe142e..527bc94 100644
--- flask_restful/reqparse.py
+++ flask_restful/reqparse.py
@@ -176,7 +176,7 @@ class Argument(object):
values = source.getlist(name)
else:
values = source.get(name)
- if not isinstance(values, collections.MutableSequence):
+ if not (isinstance(values, collections.MutableSequence) and self.action == 'append'):
values = [values]
for value in values:
diff --git a/tests/test_reqparse.py b/tests/test_reqparse.py
index ce9ce30..df18ead 100644
--- tests/test_reqparse.py
+++ tests/test_reqparse.py
@@ -891,5 +891,30 @@ class ReqParseTestCase(unittest.TestCase):
self.assertEquals(args['int1'], 1)
self.assertEquals(args['int2'], 2)
+ def test_list_argument(self):
+ app = Flask(__name__)
+
+ parser = RequestParser()
+ parser.add_argument('arg1', location='json', type=list)
+
+ with app.test_request_context('/bubble', method="post",
+ data=json.dumps({'arg1': ['foo', 'bar']}),
+ content_type='application/json'):
+ args = parser.parse_args()
+ self.assertEquals(args['arg1'], ['foo', 'bar'])
+
+ def test_list_argument_dict(self):
+ app = Flask(__name__)
+
+ parser = RequestParser()
+ parser.add_argument('arg1', location='json', type=list)
+
+ with app.test_request_context('/bubble', method="post",
+ data=json.dumps({'arg1': [{'foo': 1, 'bar': 2}]}),
+ content_type='application/json'):
+ args = parser.parse_args()
+ self.assertEquals(args['arg1'], [{'foo': 1, 'bar': 2}])
+
+
if __name__ == '__main__':
unittest.main()
--
2.17.0.rc1

View File

@ -0,0 +1,25 @@
From 54979f0a49b2217babc53c5b65b5df10b6de8e05 Mon Sep 17 00:00:00 2001
From: Josh Friend <josh@fueledbycaffeine.com>
Date: Thu, 29 Mar 2018 14:55:35 -0400
Subject: [PATCH] Support aniso8601 >3.0 in tests
---
tests/test_inputs.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test_inputs.py b/tests/test_inputs.py
index 90a2fb0..6cb9e9b 100644
--- tests/test_inputs.py
+++ tests/test_inputs.py
@@ -417,7 +417,7 @@ def test_bad_isointervals():
for bad_interval in bad_intervals:
yield (
assert_raises,
- ValueError,
+ Exception,
inputs.iso8601interval,
bad_interval,
)
--
2.17.0

View File

@ -0,0 +1,27 @@
commit dfd60ce7c656d95afc2e7c4c1e03be2982cc9a9d
Author: Kamil Páral <kparal@redhat.com>
Date: Tue Jun 26 12:06:37 2018 +0200
test_api: fix traceback
This is fixed:
```
Traceback (most recent call last):
File "/builddir/build/BUILD/flask-restful-0.3.6/tests/test_api.py", line 787, in test_fr_405
set(['HEAD', 'OPTIONS'] + HelloWorld.methods))
TypeError: can only concatenate list (not "set") to list
```
diff --git a/tests/test_api.py b/tests/test_api.py
index 26447ae..f34b3f6 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -784,7 +784,7 @@ class APITestCase(unittest.TestCase):
allow = ', '.join(set(resp.headers.get_all('Allow')))
allow = set(method.strip() for method in allow.split(','))
self.assertEquals(allow,
- set(['HEAD', 'OPTIONS'] + HelloWorld.methods))
+ set(['HEAD', 'OPTIONS'] + list(HelloWorld.methods)))
def test_exception_header_forwarded(self):
"""Test that HTTPException's headers are extended properly"""

View File

@ -0,0 +1,29 @@
--- tests/test_accept.py.orig 2015-11-13 12:06:18.914003153 +0100
+++ tests/test_accept.py 2015-11-13 12:04:42.786435117 +0100
@@ -121,26 +121,6 @@
assert_equals(res.content_type, 'text/plain')
- def test_accept_no_default_match_q0_not_acceptable(self):
- """
- q=0 should be considered NotAcceptable,
- but this depends on werkzeug >= 1.0 which is not yet released
- so this test is expected to fail until we depend on werkzeug >= 1.0
- """
- class Foo(flask_restful.Resource):
- def get(self):
- return "data"
-
- app = Flask(__name__)
- api = flask_restful.Api(app, default_mediatype=None)
-
- api.add_resource(Foo, '/')
-
- with app.test_client() as client:
- res = client.get('/', headers=[('Accept', 'application/json; q=0')])
- assert_equals(res.status_code, 406)
- assert_equals(res.content_type, 'application/json')
-
def test_accept_no_default_accept_highest_quality_of_two(self):
class Foo(flask_restful.Resource):
def get(self):

60
python-flask-restful.spec Normal file
View File

@ -0,0 +1,60 @@
Name: python-flask-restful
Version: 0.3.6
Release: 9
Summary: Framework for creating REST APIs
License: BSD
URL: https://www.github.com/flask-restful/flask-restful/
Source0: https://github.com/flask-restful/flask-restful/archive/%{version}.tar.gz
Patch0: python-flask-restful.remove_q0_testcase.patch
Patch1: 0001-Fix-arguments-with-type-list-705.patch
Patch2: 0002-Support-aniso8601-3.0-in-tests.patch
Patch3: 0003-Fix-tests_api-list-traceback.patch
BuildArch: noarch
BuildRequires: git gcc pytz python3-setuptools python3-nose python3-mock python3-blinker
BuildRequires: python3-flask python3-six python3-aniso8601 python3-pytz python3-devel python3-crypto
%description
Flask-RESTful provides the building blocks for creating a REST API.
%package -n python3-flask-restful
Summary: Framework for creating REST APIs
Requires: python3-flask
Requires: python3-six
Requires: python3-aniso8601
Requires: python3-pytz
%{?python_provide:%python_provide python3-flask-restful}
%description -n python3-flask-restful
Flask-RESTful is Python 3 extension for Flask that adds support
for quickly building REST APIs.
%prep
%setup -qn flask-restful-%{version}
rm -rf docs/_themes/.gitignore
%patch0
%patch1
%patch2
%patch3 -p1
%build
%py3_build
%install
%py3_install
%check
%{__python3} setup.py test
%files -n python3-flask-restful
%doc AUTHORS.md README.md examples/ docs/
%license LICENSE
%{python3_sitelib}/*
%changelog
* Fri Nov 8 2019 Buildteam <buildteam@openeuler.org> - 0.3.6-9
- Package Initialization