forked from loafle/openapi-generator-original
Merge pull request #2060 from wing328/scottrw93_fix_2036
[Python] Fix for Python client upload list of files Issue #2036
This commit is contained in:
commit
59fde5f072
@ -1411,6 +1411,8 @@ public class DefaultCodegen {
|
|||||||
} else if (param instanceof FormParameter) {
|
} else if (param instanceof FormParameter) {
|
||||||
if ("file".equalsIgnoreCase(((FormParameter) param).getType())) {
|
if ("file".equalsIgnoreCase(((FormParameter) param).getType())) {
|
||||||
p.isFile = true;
|
p.isFile = true;
|
||||||
|
} else if("file".equals(p.baseType)){
|
||||||
|
p.isFile = true;
|
||||||
} else {
|
} else {
|
||||||
p.notFile = true;
|
p.notFile = true;
|
||||||
}
|
}
|
||||||
|
@ -117,11 +117,11 @@ class {{classname}}(object):
|
|||||||
header_params['{{baseName}}'] = params['{{paramName}}']
|
header_params['{{baseName}}'] = params['{{paramName}}']
|
||||||
{{/headerParams}}
|
{{/headerParams}}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
{{#formParams}}
|
{{#formParams}}
|
||||||
if '{{paramName}}' in params:
|
if '{{paramName}}' in params:
|
||||||
{{#notFile}}form_params['{{baseName}}'] = params['{{paramName}}']{{/notFile}}{{#isFile}}files['{{baseName}}'] = params['{{paramName}}']{{/isFile}}
|
{{#notFile}}form_params.append(('{{baseName}}', params['{{paramName}}'])){{/notFile}}{{#isFile}}files['{{baseName}}'] = params['{{paramName}}']{{/isFile}}
|
||||||
{{/formParams}}
|
{{/formParams}}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
|
@ -386,22 +386,23 @@ class ApiClient(object):
|
|||||||
:param files: File parameters.
|
:param files: File parameters.
|
||||||
:return: Form parameters with files.
|
:return: Form parameters with files.
|
||||||
"""
|
"""
|
||||||
params = {}
|
params = []
|
||||||
|
|
||||||
if post_params:
|
if post_params:
|
||||||
params.update(post_params)
|
params = post_params
|
||||||
|
|
||||||
if files:
|
if files:
|
||||||
for k, v in iteritems(files):
|
for k, v in iteritems(files):
|
||||||
if not v:
|
if not v:
|
||||||
continue
|
continue
|
||||||
|
file_names = v if type(v) is list else [v]
|
||||||
with open(v, 'rb') as f:
|
for n in file_names:
|
||||||
|
with open(n, 'rb') as f:
|
||||||
filename = os.path.basename(f.name)
|
filename = os.path.basename(f.name)
|
||||||
filedata = f.read()
|
filedata = f.read()
|
||||||
mimetype = mimetypes.\
|
mimetype = mimetypes.\
|
||||||
guess_type(filename)[0] or 'application/octet-stream'
|
guess_type(filename)[0] or 'application/octet-stream'
|
||||||
params[k] = tuple([filename, filedata, mimetype])
|
params.append(tuple([k, tuple([filename, filedata, mimetype])]))
|
||||||
|
|
||||||
return params
|
return params
|
||||||
|
|
||||||
|
@ -9,8 +9,8 @@ from .models.order import Order
|
|||||||
|
|
||||||
# import apis into sdk package
|
# import apis into sdk package
|
||||||
from .apis.user_api import UserApi
|
from .apis.user_api import UserApi
|
||||||
from .apis.pet_api import PetApi
|
|
||||||
from .apis.store_api import StoreApi
|
from .apis.store_api import StoreApi
|
||||||
|
from .apis.pet_api import PetApi
|
||||||
|
|
||||||
# import ApiClient
|
# import ApiClient
|
||||||
from .api_client import ApiClient
|
from .api_client import ApiClient
|
||||||
|
@ -386,22 +386,23 @@ class ApiClient(object):
|
|||||||
:param files: File parameters.
|
:param files: File parameters.
|
||||||
:return: Form parameters with files.
|
:return: Form parameters with files.
|
||||||
"""
|
"""
|
||||||
params = {}
|
params = []
|
||||||
|
|
||||||
if post_params:
|
if post_params:
|
||||||
params.update(post_params)
|
params = post_params
|
||||||
|
|
||||||
if files:
|
if files:
|
||||||
for k, v in iteritems(files):
|
for k, v in iteritems(files):
|
||||||
if not v:
|
if not v:
|
||||||
continue
|
continue
|
||||||
|
all_files = v if type(v) is list else [v]
|
||||||
with open(v, 'rb') as f:
|
for n in all_files:
|
||||||
|
with open(n, 'rb') as f:
|
||||||
filename = os.path.basename(f.name)
|
filename = os.path.basename(f.name)
|
||||||
filedata = f.read()
|
filedata = f.read()
|
||||||
mimetype = mimetypes.\
|
mimetype = mimetypes.\
|
||||||
guess_type(filename)[0] or 'application/octet-stream'
|
guess_type(filename)[0] or 'application/octet-stream'
|
||||||
params[k] = tuple([filename, filedata, mimetype])
|
params.append(tuple([k, tuple([filename, filedata, mimetype])]))
|
||||||
|
|
||||||
return params
|
return params
|
||||||
|
|
||||||
|
@ -2,5 +2,5 @@ from __future__ import absolute_import
|
|||||||
|
|
||||||
# import apis into api package
|
# import apis into api package
|
||||||
from .user_api import UserApi
|
from .user_api import UserApi
|
||||||
from .pet_api import PetApi
|
|
||||||
from .store_api import StoreApi
|
from .store_api import StoreApi
|
||||||
|
from .pet_api import PetApi
|
||||||
|
@ -89,7 +89,7 @@ class PetApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -165,7 +165,7 @@ class PetApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -243,7 +243,7 @@ class PetApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -319,7 +319,7 @@ class PetApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -398,7 +398,7 @@ class PetApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -479,12 +479,12 @@ class PetApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
if 'name' in params:
|
if 'name' in params:
|
||||||
form_params['name'] = params['name']
|
form_params.append(('name', params['name']))
|
||||||
if 'status' in params:
|
if 'status' in params:
|
||||||
form_params['status'] = params['status']
|
form_params.append(('status', params['status']))
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
|
|
||||||
@ -565,7 +565,7 @@ class PetApi(object):
|
|||||||
if 'api_key' in params:
|
if 'api_key' in params:
|
||||||
header_params['api_key'] = params['api_key']
|
header_params['api_key'] = params['api_key']
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -646,10 +646,10 @@ class PetApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
if 'additional_metadata' in params:
|
if 'additional_metadata' in params:
|
||||||
form_params['additionalMetadata'] = params['additional_metadata']
|
form_params.append(('additionalMetadata', params['additional_metadata']))
|
||||||
if 'file' in params:
|
if 'file' in params:
|
||||||
files['file'] = params['file']
|
files['file'] = params['file']
|
||||||
|
|
||||||
@ -696,7 +696,7 @@ class PetApi(object):
|
|||||||
:param callback function: The callback function
|
:param callback function: The callback function
|
||||||
for asynchronous request. (optional)
|
for asynchronous request. (optional)
|
||||||
:param int pet_id: ID of pet that needs to be fetched (required)
|
:param int pet_id: ID of pet that needs to be fetched (required)
|
||||||
:return: Binary
|
:return: str
|
||||||
If the method is called asynchronously,
|
If the method is called asynchronously,
|
||||||
returns the request thread.
|
returns the request thread.
|
||||||
"""
|
"""
|
||||||
@ -729,7 +729,7 @@ class PetApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -754,7 +754,7 @@ class PetApi(object):
|
|||||||
body=body_params,
|
body=body_params,
|
||||||
post_params=form_params,
|
post_params=form_params,
|
||||||
files=files,
|
files=files,
|
||||||
response_type='Binary',
|
response_type='str',
|
||||||
auth_settings=auth_settings,
|
auth_settings=auth_settings,
|
||||||
callback=params.get('callback'))
|
callback=params.get('callback'))
|
||||||
return response
|
return response
|
||||||
@ -774,7 +774,7 @@ class PetApi(object):
|
|||||||
|
|
||||||
:param callback function: The callback function
|
:param callback function: The callback function
|
||||||
for asynchronous request. (optional)
|
for asynchronous request. (optional)
|
||||||
:param Binary body: Pet object in the form of byte array
|
:param str body: Pet object in the form of byte array
|
||||||
:return: None
|
:return: None
|
||||||
If the method is called asynchronously,
|
If the method is called asynchronously,
|
||||||
returns the request thread.
|
returns the request thread.
|
||||||
@ -803,7 +803,7 @@ class PetApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
|
@ -88,7 +88,7 @@ class StoreApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -162,7 +162,7 @@ class StoreApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -243,7 +243,7 @@ class StoreApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -322,7 +322,7 @@ class StoreApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
|
@ -89,7 +89,7 @@ class UserApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -165,7 +165,7 @@ class UserApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -241,7 +241,7 @@ class UserApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -322,7 +322,7 @@ class UserApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -395,7 +395,7 @@ class UserApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -474,7 +474,7 @@ class UserApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -554,7 +554,7 @@ class UserApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
@ -635,7 +635,7 @@ class UserApi(object):
|
|||||||
|
|
||||||
header_params = {}
|
header_params = {}
|
||||||
|
|
||||||
form_params = {}
|
form_params = []
|
||||||
files = {}
|
files = {}
|
||||||
|
|
||||||
body_params = None
|
body_params = None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user