diff --git a/.gitignore b/.gitignore index 1be33afa885..c9bf3b41fec 100644 --- a/.gitignore +++ b/.gitignore @@ -173,14 +173,13 @@ samples/client/petstore/csharp-refactor/OpenAPIClient/nuget.exe # Python *.pyc __pycache__ +.venv/ samples/client/petstore/python/dev-requirements.txt.log samples/client/petstore/python/swagger_client.egg-info/SOURCES.txt samples/client/petstore/python/.coverage samples/client/petstore/python/.projectile -samples/client/petstore/python/.venv/ -samples/client/petstore/python-asyncio/.venv/ samples/client/petstore/python-asyncio/.pytest_cache/ -samples/client/petstore/python-tornado/.venv/ + # PHP samples/client/petstore/php/OpenAPIClient-php/composer.lock diff --git a/modules/openapi-generator/src/main/resources/python-flask/__init__model.mustache b/modules/openapi-generator/src/main/resources/python-flask/__init__model.mustache index 98b56e3d154..e39abfcf463 100644 --- a/modules/openapi-generator/src/main/resources/python-flask/__init__model.mustache +++ b/modules/openapi-generator/src/main/resources/python-flask/__init__model.mustache @@ -1,7 +1,4 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package {{#models}}{{#model}}from {{modelPackage}}.{{classFilename}} import {{classname}}{{/model}} {{/models}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/python-flask/base_model.mustache b/modules/openapi-generator/src/main/resources/python-flask/base_model.mustache index c771c9e58d5..33b96e27b55 100644 --- a/modules/openapi-generator/src/main/resources/python-flask/base_model.mustache +++ b/modules/openapi-generator/src/main/resources/python-flask/base_model.mustache @@ -1,6 +1,5 @@ import pprint -import six import typing from {{packageName}} import util @@ -8,7 +7,7 @@ from {{packageName}} import util T = typing.TypeVar('T') -class Model(object): +class Model: # openapiTypes: The key is attribute name and the # value is attribute type. openapi_types: typing.Dict[str, type] = {} @@ -29,7 +28,7 @@ class Model(object): """ result = {} - for attr, _ in six.iteritems(self.openapi_types): + for attr in self.openapi_types: value = getattr(self, attr) if isinstance(value, list): result[attr] = list(map( diff --git a/modules/openapi-generator/src/main/resources/python-flask/controller.mustache b/modules/openapi-generator/src/main/resources/python-flask/controller.mustache index 9422589cc7c..ad276a661ad 100644 --- a/modules/openapi-generator/src/main/resources/python-flask/controller.mustache +++ b/modules/openapi-generator/src/main/resources/python-flask/controller.mustache @@ -1,5 +1,4 @@ import connexion -import six from typing import Dict from typing import Tuple from typing import Union @@ -97,15 +96,15 @@ def {{operationId}}({{#allParams}}{{paramName}}{{^required}}=None{{/required}}{{ {{#items}} {{#isDate}} if connexion.request.is_json: - {{paramName}} = {k: util.deserialize_date(v) for k, v in six.iteritems(connexion.request.get_json())} # noqa: E501 + {{paramName}} = {k: util.deserialize_date(v) for k, v in connexion.request.get_json().items()} # noqa: E501 {{/isDate}} {{#isDateTime}} if connexion.request.is_json: - {{paramName}} = {k: util.deserialize_datetime(v) for k, v in six.iteritems(connexion.request.get_json())} # noqa: E501 + {{paramName}} = {k: util.deserialize_datetime(v) for k, v in connexion.request.get_json().items()} # noqa: E501 {{/isDateTime}} {{#complexType}} if connexion.request.is_json: - {{paramName}} = {k: {{baseType}}.from_dict(v) for k, v in six.iteritems(connexion.request.get_json())} # noqa: E501 + {{paramName}} = {k: {{baseType}}.from_dict(v) for k, v in connexion.request.get_json().items()} # noqa: E501 {{/complexType}} {{/items}} {{/isMap}} diff --git a/modules/openapi-generator/src/main/resources/python-flask/controller_test.mustache b/modules/openapi-generator/src/main/resources/python-flask/controller_test.mustache index f8b8beff559..e98fbd30700 100644 --- a/modules/openapi-generator/src/main/resources/python-flask/controller_test.mustache +++ b/modules/openapi-generator/src/main/resources/python-flask/controller_test.mustache @@ -1,10 +1,6 @@ -# coding: utf-8 - -from __future__ import absolute_import import unittest from flask import json -from six import BytesIO {{#imports}}{{import}} # noqa: E501 {{/imports}} diff --git a/modules/openapi-generator/src/main/resources/python-flask/encoder.mustache b/modules/openapi-generator/src/main/resources/python-flask/encoder.mustache index 0021509ffc4..4d27ad24866 100644 --- a/modules/openapi-generator/src/main/resources/python-flask/encoder.mustache +++ b/modules/openapi-generator/src/main/resources/python-flask/encoder.mustache @@ -1,5 +1,4 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six from {{modelPackage}}.base_model import Model @@ -10,7 +9,7 @@ class JSONEncoder(FlaskJSONEncoder): def default(self, o): if isinstance(o, Model): dikt = {} - for attr, _ in six.iteritems(o.openapi_types): + for attr in o.openapi_types: value = getattr(o, attr) if value is None and not self.include_nulls: continue diff --git a/modules/openapi-generator/src/main/resources/python-flask/model.mustache b/modules/openapi-generator/src/main/resources/python-flask/model.mustache index b790e80f187..4e7ecde8ef2 100644 --- a/modules/openapi-generator/src/main/resources/python-flask/model.mustache +++ b/modules/openapi-generator/src/main/resources/python-flask/model.mustache @@ -1,6 +1,3 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 diff --git a/modules/openapi-generator/src/main/resources/python-flask/setup.mustache b/modules/openapi-generator/src/main/resources/python-flask/setup.mustache index ec06a7798b2..00dd770077b 100644 --- a/modules/openapi-generator/src/main/resources/python-flask/setup.mustache +++ b/modules/openapi-generator/src/main/resources/python-flask/setup.mustache @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys from setuptools import setup, find_packages diff --git a/modules/openapi-generator/src/main/resources/python-flask/typing_utils.mustache b/modules/openapi-generator/src/main/resources/python-flask/typing_utils.mustache index 0563f81fd53..74e3c913a7d 100644 --- a/modules/openapi-generator/src/main/resources/python-flask/typing_utils.mustache +++ b/modules/openapi-generator/src/main/resources/python-flask/typing_utils.mustache @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/modules/openapi-generator/src/main/resources/python-flask/util.mustache b/modules/openapi-generator/src/main/resources/python-flask/util.mustache index 60ebebac8e1..5f2f4539e22 100644 --- a/modules/openapi-generator/src/main/resources/python-flask/util.mustache +++ b/modules/openapi-generator/src/main/resources/python-flask/util.mustache @@ -1,6 +1,5 @@ import datetime -import six import typing from {{packageName}} import typing_utils @@ -16,7 +15,7 @@ def _deserialize(data, klass): if data is None: return None - if klass in six.integer_types or klass in (float, str, bool, bytearray): + if klass in (int, float, str, bool, bytearray): return _deserialize_primitive(data, klass) elif klass == object: return _deserialize_object(data) @@ -45,7 +44,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -110,7 +109,7 @@ def deserialize_model(data, klass): if not instance.openapi_types: return data - for attr, attr_type in six.iteritems(instance.openapi_types): + for attr, attr_type in instance.openapi_types.items(): if data is not None \ and instance.attribute_map[attr] in data \ and isinstance(data, (list, dict)): @@ -145,4 +144,4 @@ def _deserialize_dict(data, boxed_type): :rtype: dict """ return {k: _deserialize(v, boxed_type) - for k, v in six.iteritems(data)} + for k, v in data.items() } diff --git a/samples/server/petstore/python-flask/openapi_server/controllers/pet_controller.py b/samples/server/petstore/python-flask/openapi_server/controllers/pet_controller.py index e31e316a07e..89086c54bd4 100644 --- a/samples/server/petstore/python-flask/openapi_server/controllers/pet_controller.py +++ b/samples/server/petstore/python-flask/openapi_server/controllers/pet_controller.py @@ -1,5 +1,4 @@ import connexion -import six from typing import Dict from typing import Tuple from typing import Union diff --git a/samples/server/petstore/python-flask/openapi_server/controllers/store_controller.py b/samples/server/petstore/python-flask/openapi_server/controllers/store_controller.py index 21bc29621fe..62887e7adac 100644 --- a/samples/server/petstore/python-flask/openapi_server/controllers/store_controller.py +++ b/samples/server/petstore/python-flask/openapi_server/controllers/store_controller.py @@ -1,5 +1,4 @@ import connexion -import six from typing import Dict from typing import Tuple from typing import Union diff --git a/samples/server/petstore/python-flask/openapi_server/controllers/user_controller.py b/samples/server/petstore/python-flask/openapi_server/controllers/user_controller.py index 8cd4edf68a2..0acef475150 100644 --- a/samples/server/petstore/python-flask/openapi_server/controllers/user_controller.py +++ b/samples/server/petstore/python-flask/openapi_server/controllers/user_controller.py @@ -1,5 +1,4 @@ import connexion -import six from typing import Dict from typing import Tuple from typing import Union diff --git a/samples/server/petstore/python-flask/openapi_server/encoder.py b/samples/server/petstore/python-flask/openapi_server/encoder.py index 1ec9cb99b83..60f4fa67e7d 100644 --- a/samples/server/petstore/python-flask/openapi_server/encoder.py +++ b/samples/server/petstore/python-flask/openapi_server/encoder.py @@ -1,5 +1,4 @@ from connexion.apps.flask_app import FlaskJSONEncoder -import six from openapi_server.models.base_model import Model @@ -10,7 +9,7 @@ class JSONEncoder(FlaskJSONEncoder): def default(self, o): if isinstance(o, Model): dikt = {} - for attr, _ in six.iteritems(o.openapi_types): + for attr in o.openapi_types: value = getattr(o, attr) if value is None and not self.include_nulls: continue diff --git a/samples/server/petstore/python-flask/openapi_server/models/__init__.py b/samples/server/petstore/python-flask/openapi_server/models/__init__.py index 962f6f34936..24ea9866d7b 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/__init__.py +++ b/samples/server/petstore/python-flask/openapi_server/models/__init__.py @@ -1,7 +1,4 @@ -# coding: utf-8 - # flake8: noqa -from __future__ import absolute_import # import models into model package from openapi_server.models.api_response import ApiResponse from openapi_server.models.category import Category diff --git a/samples/server/petstore/python-flask/openapi_server/models/api_response.py b/samples/server/petstore/python-flask/openapi_server/models/api_response.py index a795a0a2224..87801d39e32 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/api_response.py +++ b/samples/server/petstore/python-flask/openapi_server/models/api_response.py @@ -1,6 +1,3 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 diff --git a/samples/server/petstore/python-flask/openapi_server/models/base_model.py b/samples/server/petstore/python-flask/openapi_server/models/base_model.py index 916e582ec27..c01b423a743 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/base_model.py +++ b/samples/server/petstore/python-flask/openapi_server/models/base_model.py @@ -1,6 +1,5 @@ import pprint -import six import typing from openapi_server import util @@ -8,7 +7,7 @@ from openapi_server import util T = typing.TypeVar('T') -class Model(object): +class Model: # openapiTypes: The key is attribute name and the # value is attribute type. openapi_types: typing.Dict[str, type] = {} @@ -29,7 +28,7 @@ class Model(object): """ result = {} - for attr, _ in six.iteritems(self.openapi_types): + for attr in self.openapi_types: value = getattr(self, attr) if isinstance(value, list): result[attr] = list(map( diff --git a/samples/server/petstore/python-flask/openapi_server/models/category.py b/samples/server/petstore/python-flask/openapi_server/models/category.py index 5e068634926..222a30f6f28 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/category.py +++ b/samples/server/petstore/python-flask/openapi_server/models/category.py @@ -1,6 +1,3 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 diff --git a/samples/server/petstore/python-flask/openapi_server/models/order.py b/samples/server/petstore/python-flask/openapi_server/models/order.py index b9b11b2b35a..b0df0613ccc 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/order.py +++ b/samples/server/petstore/python-flask/openapi_server/models/order.py @@ -1,6 +1,3 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 diff --git a/samples/server/petstore/python-flask/openapi_server/models/pet.py b/samples/server/petstore/python-flask/openapi_server/models/pet.py index 1473099c5f8..57cbb673879 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/pet.py +++ b/samples/server/petstore/python-flask/openapi_server/models/pet.py @@ -1,6 +1,3 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 diff --git a/samples/server/petstore/python-flask/openapi_server/models/tag.py b/samples/server/petstore/python-flask/openapi_server/models/tag.py index c4dfa927b86..1088ad71654 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/tag.py +++ b/samples/server/petstore/python-flask/openapi_server/models/tag.py @@ -1,6 +1,3 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 diff --git a/samples/server/petstore/python-flask/openapi_server/models/user.py b/samples/server/petstore/python-flask/openapi_server/models/user.py index 8ed94b32f48..e8e31169954 100644 --- a/samples/server/petstore/python-flask/openapi_server/models/user.py +++ b/samples/server/petstore/python-flask/openapi_server/models/user.py @@ -1,6 +1,3 @@ -# coding: utf-8 - -from __future__ import absolute_import from datetime import date, datetime # noqa: F401 from typing import List, Dict # noqa: F401 diff --git a/samples/server/petstore/python-flask/openapi_server/test/test_pet_controller.py b/samples/server/petstore/python-flask/openapi_server/test/test_pet_controller.py index d1eb1d32668..a62cb03709c 100644 --- a/samples/server/petstore/python-flask/openapi_server/test/test_pet_controller.py +++ b/samples/server/petstore/python-flask/openapi_server/test/test_pet_controller.py @@ -1,10 +1,6 @@ -# coding: utf-8 - -from __future__ import absolute_import import unittest from flask import json -from six import BytesIO from openapi_server.models.api_response import ApiResponse # noqa: E501 from openapi_server.models.pet import Pet # noqa: E501 @@ -20,23 +16,7 @@ class TestPetController(BaseTestCase): Add a new pet to the store """ - body = { - "photoUrls" : [ "photoUrls", "photoUrls" ], - "name" : "doggie", - "id" : 0, - "category" : { - "name" : "name", - "id" : 6 - }, - "tags" : [ { - "name" : "name", - "id" : 1 - }, { - "name" : "name", - "id" : 1 - } ], - "status" : "available" -} + body = {"photoUrls":["photoUrls","photoUrls"],"name":"doggie","id":0,"category":{"name":"name","id":6},"tags":[{"name":"name","id":1},{"name":"name","id":1}],"status":"available"} headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer special-key', @@ -71,7 +51,7 @@ class TestPetController(BaseTestCase): Finds Pets by status """ - query_string = [('status', 'available')] + query_string = [('status', ['status_example'])] headers = { 'Accept': 'application/json', 'Authorization': 'Bearer special-key', @@ -124,23 +104,7 @@ class TestPetController(BaseTestCase): Update an existing pet """ - body = { - "photoUrls" : [ "photoUrls", "photoUrls" ], - "name" : "doggie", - "id" : 0, - "category" : { - "name" : "name", - "id" : 6 - }, - "tags" : [ { - "name" : "name", - "id" : 1 - }, { - "name" : "name", - "id" : 1 - } ], - "status" : "available" -} + body = {"photoUrls":["photoUrls","photoUrls"],"name":"doggie","id":0,"category":{"name":"name","id":6},"tags":[{"name":"name","id":1},{"name":"name","id":1}],"status":"available"} headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer special-key', diff --git a/samples/server/petstore/python-flask/openapi_server/test/test_store_controller.py b/samples/server/petstore/python-flask/openapi_server/test/test_store_controller.py index 43867b1d98e..36b656cd827 100644 --- a/samples/server/petstore/python-flask/openapi_server/test/test_store_controller.py +++ b/samples/server/petstore/python-flask/openapi_server/test/test_store_controller.py @@ -1,10 +1,6 @@ -# coding: utf-8 - -from __future__ import absolute_import import unittest from flask import json -from six import BytesIO from openapi_server.models.order import Order # noqa: E501 from openapi_server.test import BaseTestCase @@ -52,7 +48,7 @@ class TestStoreController(BaseTestCase): 'Accept': 'application/json', } response = self.client.open( - '/v2/store/order/{order_id}'.format(order_id=1), + '/v2/store/order/{order_id}'.format(order_id=56), method='GET', headers=headers) self.assert200(response, diff --git a/samples/server/petstore/python-flask/openapi_server/test/test_user_controller.py b/samples/server/petstore/python-flask/openapi_server/test/test_user_controller.py index 010a72b0306..a991011b316 100644 --- a/samples/server/petstore/python-flask/openapi_server/test/test_user_controller.py +++ b/samples/server/petstore/python-flask/openapi_server/test/test_user_controller.py @@ -1,10 +1,6 @@ -# coding: utf-8 - -from __future__ import absolute_import import unittest from flask import json -from six import BytesIO from openapi_server.models.user import User # noqa: E501 from openapi_server.test import BaseTestCase diff --git a/samples/server/petstore/python-flask/openapi_server/typing_utils.py b/samples/server/petstore/python-flask/openapi_server/typing_utils.py index 0563f81fd53..74e3c913a7d 100644 --- a/samples/server/petstore/python-flask/openapi_server/typing_utils.py +++ b/samples/server/petstore/python-flask/openapi_server/typing_utils.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys if sys.version_info < (3, 7): diff --git a/samples/server/petstore/python-flask/openapi_server/util.py b/samples/server/petstore/python-flask/openapi_server/util.py index 2a63f2109ba..bd83c5b330b 100644 --- a/samples/server/petstore/python-flask/openapi_server/util.py +++ b/samples/server/petstore/python-flask/openapi_server/util.py @@ -1,6 +1,5 @@ import datetime -import six import typing from openapi_server import typing_utils @@ -16,7 +15,7 @@ def _deserialize(data, klass): if data is None: return None - if klass in six.integer_types or klass in (float, str, bool, bytearray): + if klass in (int, float, str, bool, bytearray): return _deserialize_primitive(data, klass) elif klass == object: return _deserialize_object(data) @@ -45,7 +44,7 @@ def _deserialize_primitive(data, klass): try: value = klass(data) except UnicodeEncodeError: - value = six.u(data) + value = data except TypeError: value = data return value @@ -110,7 +109,7 @@ def deserialize_model(data, klass): if not instance.openapi_types: return data - for attr, attr_type in six.iteritems(instance.openapi_types): + for attr, attr_type in instance.openapi_types.items(): if data is not None \ and instance.attribute_map[attr] in data \ and isinstance(data, (list, dict)): @@ -145,4 +144,4 @@ def _deserialize_dict(data, boxed_type): :rtype: dict """ return {k: _deserialize(v, boxed_type) - for k, v in six.iteritems(data)} + for k, v in data.items() } diff --git a/samples/server/petstore/python-flask/setup.py b/samples/server/petstore/python-flask/setup.py index 1cd2660efd6..80284885589 100644 --- a/samples/server/petstore/python-flask/setup.py +++ b/samples/server/petstore/python-flask/setup.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import sys from setuptools import setup, find_packages