forked from loafle/openapi-generator-original
		
	Merge pull request #797 from geekerzp/develop_2.0_python_auth
[Python] Add authentication support (API key, HTTP basic)
This commit is contained in:
		
						commit
						d2cb05f14f
					
				@ -27,15 +27,16 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
 | 
				
			|||||||
    super();
 | 
					    super();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    eggPackage = module + "-python";
 | 
					    eggPackage = module + "-python";
 | 
				
			||||||
    invokerPackage = eggPackage + "/" + module;
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    outputFolder = "generated-code/python";
 | 
					    invokerPackage = eggPackage + File.separatorChar + module;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    outputFolder = "generated-code" + File.separatorChar + "python";
 | 
				
			||||||
    modelTemplateFiles.put("model.mustache", ".py");
 | 
					    modelTemplateFiles.put("model.mustache", ".py");
 | 
				
			||||||
    apiTemplateFiles.put("api.mustache", ".py");
 | 
					    apiTemplateFiles.put("api.mustache", ".py");
 | 
				
			||||||
    templateDir = "python";
 | 
					    templateDir = "python";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    apiPackage = invokerPackage + ".apis";
 | 
					    apiPackage = invokerPackage + File.separatorChar + "apis";
 | 
				
			||||||
    modelPackage = invokerPackage + ".models";
 | 
					    modelPackage = invokerPackage + File.separatorChar + "models";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    languageSpecificPrimitives.clear();
 | 
					    languageSpecificPrimitives.clear();
 | 
				
			||||||
    languageSpecificPrimitives.add("int");
 | 
					    languageSpecificPrimitives.add("int");
 | 
				
			||||||
@ -68,13 +69,12 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("README.mustache", eggPackage, "README.md"));
 | 
					    supportingFiles.add(new SupportingFile("README.mustache", eggPackage, "README.md"));
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("setup.mustache", eggPackage, "setup.py"));
 | 
					    supportingFiles.add(new SupportingFile("setup.mustache", eggPackage, "setup.py"));
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("swagger.mustache", invokerPackage, "swagger.py"));
 | 
					    supportingFiles.add(new SupportingFile("api_client.mustache", invokerPackage, "api_client.py"));
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("rest.mustache", invokerPackage, "rest.py"));
 | 
					    supportingFiles.add(new SupportingFile("rest.mustache", invokerPackage, "rest.py"));
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("util.mustache", invokerPackage, "util.py"));
 | 
					    supportingFiles.add(new SupportingFile("configuration.mustache", invokerPackage, "configuration.py"));
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("config.mustache", invokerPackage, "config.py"));
 | 
					 | 
				
			||||||
    supportingFiles.add(new SupportingFile("__init__package.mustache", invokerPackage, "__init__.py"));
 | 
					    supportingFiles.add(new SupportingFile("__init__package.mustache", invokerPackage, "__init__.py"));
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("__init__model.mustache", modelPackage.replace('.', File.separatorChar), "__init__.py"));
 | 
					    supportingFiles.add(new SupportingFile("__init__model.mustache", modelPackage, "__init__.py"));
 | 
				
			||||||
    supportingFiles.add(new SupportingFile("__init__api.mustache", apiPackage.replace('.', File.separatorChar), "__init__.py"));
 | 
					    supportingFiles.add(new SupportingFile("__init__api.mustache", apiPackage, "__init__.py"));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @Override
 | 
					  @Override
 | 
				
			||||||
@ -84,11 +84,11 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  @Override
 | 
					  @Override
 | 
				
			||||||
  public String apiFileFolder() {
 | 
					  public String apiFileFolder() {
 | 
				
			||||||
    return outputFolder + "/" + apiPackage().replace('.', File.separatorChar);
 | 
					    return outputFolder + File.separatorChar + apiPackage().replace('.', File.separatorChar);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  public String modelFileFolder() {
 | 
					  public String modelFileFolder() {
 | 
				
			||||||
    return outputFolder + "/" + modelPackage().replace('.', File.separatorChar);
 | 
					    return outputFolder + File.separatorChar + modelPackage().replace('.', File.separatorChar);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @Override
 | 
					  @Override
 | 
				
			||||||
 | 
				
			|||||||
@ -7,4 +7,4 @@ from __future__ import absolute_import
 | 
				
			|||||||
{{#apiInfo}}{{#apis}}from .apis.{{classVarName}} import {{classname}}
 | 
					{{#apiInfo}}{{#apis}}from .apis.{{classVarName}} import {{classname}}
 | 
				
			||||||
{{/apis}}{{/apiInfo}}
 | 
					{{/apis}}{{/apiInfo}}
 | 
				
			||||||
# import ApiClient
 | 
					# import ApiClient
 | 
				
			||||||
from .swagger import ApiClient
 | 
					from .api_client import ApiClient
 | 
				
			||||||
 | 
				
			|||||||
@ -27,9 +27,8 @@ import os
 | 
				
			|||||||
# python 2 and python 3 compatibility library
 | 
					# python 2 and python 3 compatibility library
 | 
				
			||||||
from six import iteritems
 | 
					from six import iteritems
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ..util import remove_none
 | 
					from .. import configuration
 | 
				
			||||||
 | 
					from ..api_client import ApiClient
 | 
				
			||||||
from .. import config
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
{{#operations}}
 | 
					{{#operations}}
 | 
				
			||||||
class {{classname}}(object):
 | 
					class {{classname}}(object):
 | 
				
			||||||
@ -38,7 +37,10 @@ class {{classname}}(object):
 | 
				
			|||||||
        if api_client:
 | 
					        if api_client:
 | 
				
			||||||
            self.api_client = api_client
 | 
					            self.api_client = api_client
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.api_client = config.api_client
 | 
					            if not configuration.api_client:
 | 
				
			||||||
 | 
					                configuration.api_client = ApiClient('{{basePath}}')
 | 
				
			||||||
 | 
					            self.api_client = configuration.api_client
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    {{#operation}}
 | 
					    {{#operation}}
 | 
				
			||||||
    def {{nickname}}(self, {{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}**kwargs):
 | 
					    def {{nickname}}(self, {{#allParams}}{{#required}}{{paramName}}, {{/required}}{{/allParams}}**kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -66,13 +68,32 @@ class {{classname}}(object):
 | 
				
			|||||||
        resource_path = '{{path}}'.replace('{format}', 'json')
 | 
					        resource_path = '{{path}}'.replace('{format}', 'json')
 | 
				
			||||||
        method = '{{httpMethod}}'
 | 
					        method = '{{httpMethod}}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict({{#pathParams}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/pathParams}}))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict({{#queryParams}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/queryParams}}))
 | 
					        {{#pathParams}}
 | 
				
			||||||
        header_params = remove_none(dict({{#headerParams}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/headerParams}}))
 | 
					        if '{{paramName}}' in params:
 | 
				
			||||||
        form_params = remove_none(dict({{#formParams}}{{^isFile}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/isFile}}{{/formParams}}))
 | 
					            path_params['{{baseName}}'] = params['{{paramName}}']  
 | 
				
			||||||
        files = remove_none(dict({{#formParams}}{{#isFile}}{{baseName}}=params.get('{{paramName}}'){{#hasMore}}, {{/hasMore}}{{/isFile}}{{/formParams}}))
 | 
					        {{/pathParams}}
 | 
				
			||||||
        body_params = {{#bodyParam}}params.get('{{paramName}}'){{/bodyParam}}{{^bodyParam}}None{{/bodyParam}}
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        {{#queryParams}}
 | 
				
			||||||
 | 
					        if '{{paramName}}' in params:
 | 
				
			||||||
 | 
					            query_params['{{baseName}}'] = params['{{paramName}}']
 | 
				
			||||||
 | 
					        {{/queryParams}}
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        {{#headerParams}}
 | 
				
			||||||
 | 
					        if '{{paramName}}' in params:
 | 
				
			||||||
 | 
					            header_params['{{baseName}}'] = params['{{paramName}}']
 | 
				
			||||||
 | 
					        {{/headerParams}}
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        {{#formParams}}
 | 
				
			||||||
 | 
					        if '{{paramName}}' in params:
 | 
				
			||||||
 | 
					            {{#notFile}}form_params['{{baseName}}'] = params['{{paramName}}']{{/notFile}}{{#isFile}}files['{{baseName}}'] = params['{{paramName}}']{{/isFile}}
 | 
				
			||||||
 | 
					        {{/formParams}}
 | 
				
			||||||
 | 
					        body_params = None
 | 
				
			||||||
 | 
					        {{#bodyParam}}
 | 
				
			||||||
 | 
					        if '{{paramName}}' in params:
 | 
				
			||||||
 | 
					            body_params = params['{{paramName}}']
 | 
				
			||||||
 | 
					        {{/bodyParam}}
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
        header_params['Accept'] = self.api_client.select_header_accept([{{#produces}}'{{mediaType}}'{{#hasMore}}, {{/hasMore}}{{/produces}}])
 | 
					        header_params['Accept'] = self.api_client.select_header_accept([{{#produces}}'{{mediaType}}'{{#hasMore}}, {{/hasMore}}{{/produces}}])
 | 
				
			||||||
        if not header_params['Accept']:
 | 
					        if not header_params['Accept']:
 | 
				
			||||||
@ -81,9 +102,12 @@ class {{classname}}(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([{{#consumes}}'{{mediaType}}'{{#hasMore}}, {{/hasMore}}{{/consumes}}])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([{{#consumes}}'{{mediaType}}'{{#hasMore}}, {{/hasMore}}{{/consumes}}])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = [{{#authMethods}}'{{name}}'{{#hasMore}}, {{/hasMore}}{{/authMethods}}]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response={{#returnType}}'{{returnType}}'{{/returnType}}{{^returnType}}None{{/returnType}})
 | 
					                                            response={{#returnType}}'{{returnType}}'{{/returnType}}{{^returnType}}None{{/returnType}}, auth_settings=auth_settings)
 | 
				
			||||||
        {{#returnType}}
 | 
					        {{#returnType}}
 | 
				
			||||||
        return response
 | 
					        return response
 | 
				
			||||||
        {{/returnType}}{{/operation}}
 | 
					        {{/returnType}}{{/operation}}
 | 
				
			||||||
 | 
				
			|||||||
@ -28,6 +28,7 @@ except ImportError:
 | 
				
			|||||||
  # for python2
 | 
					  # for python2
 | 
				
			||||||
  from urllib import quote
 | 
					  from urllib import quote
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from . import configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ApiClient(object):
 | 
					class ApiClient(object):
 | 
				
			||||||
  """
 | 
					  """
 | 
				
			||||||
@ -37,7 +38,7 @@ class ApiClient(object):
 | 
				
			|||||||
  :param header_name: a header to pass when making calls to the API
 | 
					  :param header_name: a header to pass when making calls to the API
 | 
				
			||||||
  :param header_value: a header value to pass when making calls to the API
 | 
					  :param header_value: a header value to pass when making calls to the API
 | 
				
			||||||
  """
 | 
					  """
 | 
				
			||||||
  def __init__(self, host=None, header_name=None, header_value=None):
 | 
					  def __init__(self, host=configuration.host, header_name=None, header_value=None):
 | 
				
			||||||
    self.default_headers = {}
 | 
					    self.default_headers = {}
 | 
				
			||||||
    if header_name is not None:
 | 
					    if header_name is not None:
 | 
				
			||||||
      self.default_headers[header_name] = header_value
 | 
					      self.default_headers[header_name] = header_value
 | 
				
			||||||
@ -58,15 +59,15 @@ class ApiClient(object):
 | 
				
			|||||||
    self.default_headers[header_name] = header_value
 | 
					    self.default_headers[header_name] = header_value
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def call_api(self, resource_path, method, path_params=None, query_params=None, header_params=None,
 | 
					  def call_api(self, resource_path, method, path_params=None, query_params=None, header_params=None,
 | 
				
			||||||
               body=None, post_params=None, files=None, response=None):
 | 
					               body=None, post_params=None, files=None, response=None, auth_settings=None):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # headers parameters
 | 
					    # headers parameters
 | 
				
			||||||
    headers = self.default_headers.copy()
 | 
					    header_params = header_params or {}
 | 
				
			||||||
    headers.update(header_params)
 | 
					    header_params.update(self.default_headers)
 | 
				
			||||||
    if self.cookie:
 | 
					    if self.cookie:
 | 
				
			||||||
      headers['Cookie'] = self.cookie
 | 
					      header_params['Cookie'] = self.cookie
 | 
				
			||||||
    if headers:
 | 
					    if header_params:
 | 
				
			||||||
      headers = self.sanitize_for_serialization(headers)
 | 
					      header_params = self.sanitize_for_serialization(header_params)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # path parameters
 | 
					    # path parameters
 | 
				
			||||||
    if path_params:
 | 
					    if path_params:
 | 
				
			||||||
@ -85,6 +86,9 @@ class ApiClient(object):
 | 
				
			|||||||
      post_params = self.prepare_post_parameters(post_params, files)
 | 
					      post_params = self.prepare_post_parameters(post_params, files)
 | 
				
			||||||
      post_params = self.sanitize_for_serialization(post_params)
 | 
					      post_params = self.sanitize_for_serialization(post_params)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # auth setting
 | 
				
			||||||
 | 
					    self.update_params_for_auth(header_params, query_params, auth_settings)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # body
 | 
					    # body
 | 
				
			||||||
    if body:
 | 
					    if body:
 | 
				
			||||||
      body = self.sanitize_for_serialization(body)
 | 
					      body = self.sanitize_for_serialization(body)
 | 
				
			||||||
@ -93,7 +97,7 @@ class ApiClient(object):
 | 
				
			|||||||
    url = self.host + resource_path
 | 
					    url = self.host + resource_path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # perform request and return response
 | 
					    # perform request and return response
 | 
				
			||||||
    response_data = self.request(method, url, query_params=query_params, headers=headers,
 | 
					    response_data = self.request(method, url, query_params=query_params, headers=header_params,
 | 
				
			||||||
                                 post_params=post_params, body=body)
 | 
					                                 post_params=post_params, body=body)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # deserialize response data
 | 
					    # deserialize response data
 | 
				
			||||||
@ -244,6 +248,7 @@ class ApiClient(object):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if files:
 | 
					    if files:
 | 
				
			||||||
      for k, v in iteritems(files):
 | 
					      for k, v in iteritems(files):
 | 
				
			||||||
 | 
					        if v:
 | 
				
			||||||
          with open(v, 'rb') as f:
 | 
					          with open(v, 'rb') as f:
 | 
				
			||||||
            filename = os.path.basename(f.name)
 | 
					            filename = os.path.basename(f.name)
 | 
				
			||||||
            filedata = f.read()
 | 
					            filedata = f.read()
 | 
				
			||||||
@ -279,3 +284,20 @@ class ApiClient(object):
 | 
				
			|||||||
      return 'application/json'
 | 
					      return 'application/json'
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
      return content_types[0]
 | 
					      return content_types[0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def update_params_for_auth(self, headers, querys, auth_settings):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Update header and query params based on authentication setting
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    if not auth_settings:
 | 
				
			||||||
 | 
					      return
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    for auth in auth_settings:
 | 
				
			||||||
 | 
					      auth_setting = configuration.auth_settings().get(auth)
 | 
				
			||||||
 | 
					      if auth_setting:
 | 
				
			||||||
 | 
					        if auth_setting['in'] == 'header':
 | 
				
			||||||
 | 
					          headers[auth_setting['key']] = auth_setting['value']
 | 
				
			||||||
 | 
					        elif auth_setting['in'] == 'query':
 | 
				
			||||||
 | 
					          querys[auth_setting['key']] = auth_setting['value']
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					          raise ValueError('Authentication token must be in `query` or `header`')
 | 
				
			||||||
@ -1,8 +0,0 @@
 | 
				
			|||||||
from __future__ import absolute_import
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from .swagger import ApiClient
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Configuration variables
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
api_client = ApiClient("{{basePath}}")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					from __future__ import absolute_import
 | 
				
			||||||
 | 
					import base64
 | 
				
			||||||
 | 
					import urllib3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_api_key_with_prefix(key):
 | 
				
			||||||
 | 
					    global api_key
 | 
				
			||||||
 | 
					    global api_key_prefix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if api_key.get(key) and api_key_prefix.get(key):
 | 
				
			||||||
 | 
					      return api_key_prefix[key] + ' ' + api_key[key]
 | 
				
			||||||
 | 
					    elif api_key.get(key):
 | 
				
			||||||
 | 
					      return api_key[key]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_basic_auth_token():
 | 
				
			||||||
 | 
					    global username
 | 
				
			||||||
 | 
					    global password
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return urllib3.util.make_headers(basic_auth=username + ':' + password).get('authorization')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def auth_settings():
 | 
				
			||||||
 | 
					    return { {{#authMethods}}{{#isApiKey}}
 | 
				
			||||||
 | 
					               '{{name}}': {
 | 
				
			||||||
 | 
					                   'type': 'api_key',
 | 
				
			||||||
 | 
					                   'in': {{#isKeyInHeader}}'header'{{/isKeyInHeader}}{{#isKeyInQuery}}'query'{{/isKeyInQuery}},
 | 
				
			||||||
 | 
					                   'key': '{{keyParamName}}',
 | 
				
			||||||
 | 
					                   'value': get_api_key_with_prefix('{{keyParamName}}')
 | 
				
			||||||
 | 
					               },
 | 
				
			||||||
 | 
					             {{/isApiKey}}{{#isBasic}}
 | 
				
			||||||
 | 
					               '{{name}}': {
 | 
				
			||||||
 | 
					                   'type': 'basic',
 | 
				
			||||||
 | 
					                   'in': 'header',
 | 
				
			||||||
 | 
					                   'key': 'Authorization',
 | 
				
			||||||
 | 
					                   'value': get_basic_auth_token()
 | 
				
			||||||
 | 
					               },
 | 
				
			||||||
 | 
					             {{/isBasic}}{{/authMethods}}
 | 
				
			||||||
 | 
					           }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Default Base url
 | 
				
			||||||
 | 
					host = "{{basePath}}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Default api client
 | 
				
			||||||
 | 
					api_client = None
 | 
				
			||||||
 | 
					             
 | 
				
			||||||
 | 
					# Authentication settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					api_key = {}
 | 
				
			||||||
 | 
					api_key_prefix = {}
 | 
				
			||||||
 | 
					username = ''
 | 
				
			||||||
 | 
					password = ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1,4 +1,10 @@
 | 
				
			|||||||
# coding: utf-8
 | 
					# coding: utf-8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					Credit: this file (rest.py) is modified based on rest.py in Dropbox Python SDK:
 | 
				
			||||||
 | 
					https://www.dropbox.com/developers/core/sdks/python
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
import io
 | 
					import io
 | 
				
			||||||
import json
 | 
					import json
 | 
				
			||||||
@ -120,7 +126,7 @@ class RESTClientObject(object):
 | 
				
			|||||||
        r = RESTResponse(r)
 | 
					        r = RESTResponse(r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if r.status not in range(200, 206):
 | 
					        if r.status not in range(200, 206):
 | 
				
			||||||
            raise ErrorResponse(r)
 | 
					            raise ApiException(r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return self.process_response(r)
 | 
					        return self.process_response(r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -157,7 +163,7 @@ class RESTClientObject(object):
 | 
				
			|||||||
        return self.request("PATCH", url, headers=headers, post_params=post_params, body=body)
 | 
					        return self.request("PATCH", url, headers=headers, post_params=post_params, body=body)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ErrorResponse(Exception):
 | 
					class ApiException(Exception):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    Non-2xx HTTP response
 | 
					    Non-2xx HTTP response
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
@ -184,7 +190,10 @@ class ErrorResponse(Exception):
 | 
				
			|||||||
        """
 | 
					        """
 | 
				
			||||||
        Custom error response messages
 | 
					        Custom error response messages
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        return "({0})\nReason: {1}\nHeader: {2}\nBody: {3}\n".\
 | 
					        return "({0})\n"\
 | 
				
			||||||
 | 
					            "Reason: {1}\n"\
 | 
				
			||||||
 | 
					            "HTTP response headers: {2}\n"\
 | 
				
			||||||
 | 
					            "HTTP response body: {3}\n".\
 | 
				
			||||||
            format(self.status, self.reason, self.headers, self.body)
 | 
					            format(self.status, self.reason, self.headers, self.body)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class RESTClient(object):
 | 
					class RESTClient(object):
 | 
				
			||||||
 | 
				
			|||||||
@ -1,17 +0,0 @@
 | 
				
			|||||||
from six import iteritems
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def remove_none(obj):
 | 
					 | 
				
			||||||
    if isinstance(obj, (list, tuple, set)):
 | 
					 | 
				
			||||||
        return type(obj)(remove_none(x) for x in obj if x is not None)
 | 
					 | 
				
			||||||
    elif isinstance(obj, dict):
 | 
					 | 
				
			||||||
        return type(obj)((remove_none(k), remove_none(v))
 | 
					 | 
				
			||||||
                         for k, v in iteritems(obj) if k is not None and v is not None)
 | 
					 | 
				
			||||||
    else:
 | 
					 | 
				
			||||||
        return obj
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def inspect_vars(obj):
 | 
					 | 
				
			||||||
    if not hasattr(obj, '__dict__'):
 | 
					 | 
				
			||||||
        return obj
 | 
					 | 
				
			||||||
    else:
 | 
					 | 
				
			||||||
        return {k: inspect_vars(getattr(obj, k)) for k in dir(obj)}
 | 
					 | 
				
			||||||
@ -13,4 +13,4 @@ from .apis.pet_api import PetApi
 | 
				
			|||||||
from .apis.store_api import StoreApi
 | 
					from .apis.store_api import StoreApi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# import ApiClient
 | 
					# import ApiClient
 | 
				
			||||||
from .swagger import ApiClient
 | 
					from .api_client import ApiClient
 | 
				
			||||||
 | 
				
			|||||||
@ -28,6 +28,7 @@ except ImportError:
 | 
				
			|||||||
  # for python2
 | 
					  # for python2
 | 
				
			||||||
  from urllib import quote
 | 
					  from urllib import quote
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from . import configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ApiClient(object):
 | 
					class ApiClient(object):
 | 
				
			||||||
  """
 | 
					  """
 | 
				
			||||||
@ -37,7 +38,7 @@ class ApiClient(object):
 | 
				
			|||||||
  :param header_name: a header to pass when making calls to the API
 | 
					  :param header_name: a header to pass when making calls to the API
 | 
				
			||||||
  :param header_value: a header value to pass when making calls to the API
 | 
					  :param header_value: a header value to pass when making calls to the API
 | 
				
			||||||
  """
 | 
					  """
 | 
				
			||||||
  def __init__(self, host=None, header_name=None, header_value=None):
 | 
					  def __init__(self, host=configuration.host, header_name=None, header_value=None):
 | 
				
			||||||
    self.default_headers = {}
 | 
					    self.default_headers = {}
 | 
				
			||||||
    if header_name is not None:
 | 
					    if header_name is not None:
 | 
				
			||||||
      self.default_headers[header_name] = header_value
 | 
					      self.default_headers[header_name] = header_value
 | 
				
			||||||
@ -58,15 +59,15 @@ class ApiClient(object):
 | 
				
			|||||||
    self.default_headers[header_name] = header_value
 | 
					    self.default_headers[header_name] = header_value
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def call_api(self, resource_path, method, path_params=None, query_params=None, header_params=None,
 | 
					  def call_api(self, resource_path, method, path_params=None, query_params=None, header_params=None,
 | 
				
			||||||
               body=None, post_params=None, files=None, response=None):
 | 
					               body=None, post_params=None, files=None, response=None, auth_settings=None):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # headers parameters
 | 
					    # headers parameters
 | 
				
			||||||
    headers = self.default_headers.copy()
 | 
					    header_params = header_params or {}
 | 
				
			||||||
    headers.update(header_params)
 | 
					    header_params.update(self.default_headers)
 | 
				
			||||||
    if self.cookie:
 | 
					    if self.cookie:
 | 
				
			||||||
      headers['Cookie'] = self.cookie
 | 
					      header_params['Cookie'] = self.cookie
 | 
				
			||||||
    if headers:
 | 
					    if header_params:
 | 
				
			||||||
      headers = self.sanitize_for_serialization(headers)
 | 
					      header_params = self.sanitize_for_serialization(header_params)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # path parameters
 | 
					    # path parameters
 | 
				
			||||||
    if path_params:
 | 
					    if path_params:
 | 
				
			||||||
@ -85,6 +86,9 @@ class ApiClient(object):
 | 
				
			|||||||
      post_params = self.prepare_post_parameters(post_params, files)
 | 
					      post_params = self.prepare_post_parameters(post_params, files)
 | 
				
			||||||
      post_params = self.sanitize_for_serialization(post_params)
 | 
					      post_params = self.sanitize_for_serialization(post_params)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # auth setting
 | 
				
			||||||
 | 
					    self.update_params_for_auth(header_params, query_params, auth_settings)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # body
 | 
					    # body
 | 
				
			||||||
    if body:
 | 
					    if body:
 | 
				
			||||||
      body = self.sanitize_for_serialization(body)
 | 
					      body = self.sanitize_for_serialization(body)
 | 
				
			||||||
@ -93,7 +97,7 @@ class ApiClient(object):
 | 
				
			|||||||
    url = self.host + resource_path
 | 
					    url = self.host + resource_path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # perform request and return response
 | 
					    # perform request and return response
 | 
				
			||||||
    response_data = self.request(method, url, query_params=query_params, headers=headers,
 | 
					    response_data = self.request(method, url, query_params=query_params, headers=header_params,
 | 
				
			||||||
                                 post_params=post_params, body=body)
 | 
					                                 post_params=post_params, body=body)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # deserialize response data
 | 
					    # deserialize response data
 | 
				
			||||||
@ -244,6 +248,7 @@ class ApiClient(object):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if files:
 | 
					    if files:
 | 
				
			||||||
      for k, v in iteritems(files):
 | 
					      for k, v in iteritems(files):
 | 
				
			||||||
 | 
					        if v:
 | 
				
			||||||
          with open(v, 'rb') as f:
 | 
					          with open(v, 'rb') as f:
 | 
				
			||||||
            filename = os.path.basename(f.name)
 | 
					            filename = os.path.basename(f.name)
 | 
				
			||||||
            filedata = f.read()
 | 
					            filedata = f.read()
 | 
				
			||||||
@ -279,3 +284,20 @@ class ApiClient(object):
 | 
				
			|||||||
      return 'application/json'
 | 
					      return 'application/json'
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
      return content_types[0]
 | 
					      return content_types[0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def update_params_for_auth(self, headers, querys, auth_settings):
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    Update header and query params based on authentication setting
 | 
				
			||||||
 | 
					    """
 | 
				
			||||||
 | 
					    if not auth_settings:
 | 
				
			||||||
 | 
					      return
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    for auth in auth_settings:
 | 
				
			||||||
 | 
					      auth_setting = configuration.auth_settings().get(auth)
 | 
				
			||||||
 | 
					      if auth_setting:
 | 
				
			||||||
 | 
					        if auth_setting['in'] == 'header':
 | 
				
			||||||
 | 
					          headers[auth_setting['key']] = auth_setting['value']
 | 
				
			||||||
 | 
					        elif auth_setting['in'] == 'query':
 | 
				
			||||||
 | 
					          querys[auth_setting['key']] = auth_setting['value']
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					          raise ValueError('Authentication token must be in `query` or `header`')
 | 
				
			||||||
@ -27,9 +27,8 @@ import os
 | 
				
			|||||||
# python 2 and python 3 compatibility library
 | 
					# python 2 and python 3 compatibility library
 | 
				
			||||||
from six import iteritems
 | 
					from six import iteritems
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ..util import remove_none
 | 
					from .. import configuration
 | 
				
			||||||
 | 
					from ..api_client import ApiClient
 | 
				
			||||||
from .. import config
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
class PetApi(object):
 | 
					class PetApi(object):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -37,7 +36,10 @@ class PetApi(object):
 | 
				
			|||||||
        if api_client:
 | 
					        if api_client:
 | 
				
			||||||
            self.api_client = api_client
 | 
					            self.api_client = api_client
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.api_client = config.api_client
 | 
					            if not configuration.api_client:
 | 
				
			||||||
 | 
					                configuration.api_client = ApiClient('http://petstore.swagger.io/v2')
 | 
				
			||||||
 | 
					            self.api_client = configuration.api_client
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    def update_pet(self, **kwargs):
 | 
					    def update_pet(self, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -61,12 +63,19 @@ class PetApi(object):
 | 
				
			|||||||
        resource_path = '/pet'.replace('{format}', 'json')
 | 
					        resource_path = '/pet'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'PUT'
 | 
					        method = 'PUT'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        header_params = {}
 | 
				
			||||||
        body_params = params.get('body')
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        body_params = None
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'body' in params:
 | 
				
			||||||
 | 
					            body_params = params['body']
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
					        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
				
			||||||
@ -76,9 +85,12 @@ class PetApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json', 'application/xml'])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json', 'application/xml'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = ['petstore_auth']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def add_pet(self, **kwargs):
 | 
					    def add_pet(self, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -102,12 +114,19 @@ class PetApi(object):
 | 
				
			|||||||
        resource_path = '/pet'.replace('{format}', 'json')
 | 
					        resource_path = '/pet'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'POST'
 | 
					        method = 'POST'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        header_params = {}
 | 
				
			||||||
        body_params = params.get('body')
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        body_params = None
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'body' in params:
 | 
				
			||||||
 | 
					            body_params = params['body']
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
					        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
				
			||||||
@ -117,9 +136,12 @@ class PetApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json', 'application/xml'])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type(['application/json', 'application/xml'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = ['petstore_auth']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def find_pets_by_status(self, **kwargs):
 | 
					    def find_pets_by_status(self, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -143,11 +165,18 @@ class PetApi(object):
 | 
				
			|||||||
        resource_path = '/pet/findByStatus'.replace('{format}', 'json')
 | 
					        resource_path = '/pet/findByStatus'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'GET'
 | 
					        method = 'GET'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict(status=params.get('status')))
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        if 'status' in params:
 | 
				
			||||||
 | 
					            query_params['status'] = params['status']
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -158,9 +187,12 @@ class PetApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = ['petstore_auth']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response='list[Pet]')
 | 
					                                            response='list[Pet]', auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        return response
 | 
					        return response
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@ -186,11 +218,18 @@ class PetApi(object):
 | 
				
			|||||||
        resource_path = '/pet/findByTags'.replace('{format}', 'json')
 | 
					        resource_path = '/pet/findByTags'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'GET'
 | 
					        method = 'GET'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict(tags=params.get('tags')))
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        if 'tags' in params:
 | 
				
			||||||
 | 
					            query_params['tags'] = params['tags']
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -201,9 +240,12 @@ class PetApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = ['petstore_auth']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response='list[Pet]')
 | 
					                                            response='list[Pet]', auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        return response
 | 
					        return response
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@ -233,11 +275,18 @@ class PetApi(object):
 | 
				
			|||||||
        resource_path = '/pet/{petId}'.replace('{format}', 'json')
 | 
					        resource_path = '/pet/{petId}'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'GET'
 | 
					        method = 'GET'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict(petId=params.get('pet_id')))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        if 'pet_id' in params:
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					            path_params['petId'] = params['pet_id']  
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        
 | 
				
			||||||
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -248,9 +297,12 @@ class PetApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = ['api_key', 'petstore_auth']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response='Pet')
 | 
					                                            response='Pet', auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        return response
 | 
					        return response
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@ -282,11 +334,24 @@ class PetApi(object):
 | 
				
			|||||||
        resource_path = '/pet/{petId}'.replace('{format}', 'json')
 | 
					        resource_path = '/pet/{petId}'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'POST'
 | 
					        method = 'POST'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict(petId=params.get('pet_id')))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        if 'pet_id' in params:
 | 
				
			||||||
        form_params = remove_none(dict(name=params.get('name'), status=params.get('status')))
 | 
					            path_params['petId'] = params['pet_id']  
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        
 | 
				
			||||||
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'name' in params:
 | 
				
			||||||
 | 
					            form_params['name'] = params['name']
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'status' in params:
 | 
				
			||||||
 | 
					            form_params['status'] = params['status']
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -297,9 +362,12 @@ class PetApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type(['application/x-www-form-urlencoded'])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type(['application/x-www-form-urlencoded'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = ['petstore_auth']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def delete_pet(self, pet_id, **kwargs):
 | 
					    def delete_pet(self, pet_id, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -328,11 +396,21 @@ class PetApi(object):
 | 
				
			|||||||
        resource_path = '/pet/{petId}'.replace('{format}', 'json')
 | 
					        resource_path = '/pet/{petId}'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'DELETE'
 | 
					        method = 'DELETE'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict(petId=params.get('pet_id')))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict(api_key=params.get('api_key')))
 | 
					        if 'pet_id' in params:
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					            path_params['petId'] = params['pet_id']  
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        
 | 
				
			||||||
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'api_key' in params:
 | 
				
			||||||
 | 
					            header_params['api_key'] = params['api_key']
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -343,9 +421,12 @@ class PetApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = ['petstore_auth']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def upload_file(self, pet_id, **kwargs):
 | 
					    def upload_file(self, pet_id, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -375,11 +456,24 @@ class PetApi(object):
 | 
				
			|||||||
        resource_path = '/pet/{petId}/uploadImage'.replace('{format}', 'json')
 | 
					        resource_path = '/pet/{petId}/uploadImage'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'POST'
 | 
					        method = 'POST'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict(petId=params.get('pet_id')))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        if 'pet_id' in params:
 | 
				
			||||||
        form_params = remove_none(dict(additionalMetadata=params.get('additional_metadata'), ))
 | 
					            path_params['petId'] = params['pet_id']  
 | 
				
			||||||
        files = remove_none(dict(file=params.get('file')))
 | 
					        
 | 
				
			||||||
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'additional_metadata' in params:
 | 
				
			||||||
 | 
					            form_params['additionalMetadata'] = params['additional_metadata']
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'file' in params:
 | 
				
			||||||
 | 
					            files['file'] = params['file']
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -390,9 +484,12 @@ class PetApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type(['multipart/form-data'])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type(['multipart/form-data'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = ['petstore_auth']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -27,9 +27,8 @@ import os
 | 
				
			|||||||
# python 2 and python 3 compatibility library
 | 
					# python 2 and python 3 compatibility library
 | 
				
			||||||
from six import iteritems
 | 
					from six import iteritems
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ..util import remove_none
 | 
					from .. import configuration
 | 
				
			||||||
 | 
					from ..api_client import ApiClient
 | 
				
			||||||
from .. import config
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
class StoreApi(object):
 | 
					class StoreApi(object):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -37,7 +36,10 @@ class StoreApi(object):
 | 
				
			|||||||
        if api_client:
 | 
					        if api_client:
 | 
				
			||||||
            self.api_client = api_client
 | 
					            self.api_client = api_client
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.api_client = config.api_client
 | 
					            if not configuration.api_client:
 | 
				
			||||||
 | 
					                configuration.api_client = ApiClient('http://petstore.swagger.io/v2')
 | 
				
			||||||
 | 
					            self.api_client = configuration.api_client
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    def get_inventory(self, **kwargs):
 | 
					    def get_inventory(self, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -60,11 +62,15 @@ class StoreApi(object):
 | 
				
			|||||||
        resource_path = '/store/inventory'.replace('{format}', 'json')
 | 
					        resource_path = '/store/inventory'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'GET'
 | 
					        method = 'GET'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -75,9 +81,12 @@ class StoreApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = ['api_key']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response='map(String, int)')
 | 
					                                            response='map(String, int)', auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        return response
 | 
					        return response
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@ -103,12 +112,19 @@ class StoreApi(object):
 | 
				
			|||||||
        resource_path = '/store/order'.replace('{format}', 'json')
 | 
					        resource_path = '/store/order'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'POST'
 | 
					        method = 'POST'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        header_params = {}
 | 
				
			||||||
        body_params = params.get('body')
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        body_params = None
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'body' in params:
 | 
				
			||||||
 | 
					            body_params = params['body']
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
					        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
				
			||||||
@ -118,9 +134,12 @@ class StoreApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response='Order')
 | 
					                                            response='Order', auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        return response
 | 
					        return response
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@ -150,11 +169,18 @@ class StoreApi(object):
 | 
				
			|||||||
        resource_path = '/store/order/{orderId}'.replace('{format}', 'json')
 | 
					        resource_path = '/store/order/{orderId}'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'GET'
 | 
					        method = 'GET'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict(orderId=params.get('order_id')))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        if 'order_id' in params:
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					            path_params['orderId'] = params['order_id']  
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        
 | 
				
			||||||
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -165,9 +191,12 @@ class StoreApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response='Order')
 | 
					                                            response='Order', auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        return response
 | 
					        return response
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@ -197,11 +226,18 @@ class StoreApi(object):
 | 
				
			|||||||
        resource_path = '/store/order/{orderId}'.replace('{format}', 'json')
 | 
					        resource_path = '/store/order/{orderId}'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'DELETE'
 | 
					        method = 'DELETE'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict(orderId=params.get('order_id')))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        if 'order_id' in params:
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					            path_params['orderId'] = params['order_id']  
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        
 | 
				
			||||||
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -212,9 +248,12 @@ class StoreApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -27,9 +27,8 @@ import os
 | 
				
			|||||||
# python 2 and python 3 compatibility library
 | 
					# python 2 and python 3 compatibility library
 | 
				
			||||||
from six import iteritems
 | 
					from six import iteritems
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from ..util import remove_none
 | 
					from .. import configuration
 | 
				
			||||||
 | 
					from ..api_client import ApiClient
 | 
				
			||||||
from .. import config
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
class UserApi(object):
 | 
					class UserApi(object):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -37,7 +36,10 @@ class UserApi(object):
 | 
				
			|||||||
        if api_client:
 | 
					        if api_client:
 | 
				
			||||||
            self.api_client = api_client
 | 
					            self.api_client = api_client
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.api_client = config.api_client
 | 
					            if not configuration.api_client:
 | 
				
			||||||
 | 
					                configuration.api_client = ApiClient('http://petstore.swagger.io/v2')
 | 
				
			||||||
 | 
					            self.api_client = configuration.api_client
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    def create_user(self, **kwargs):
 | 
					    def create_user(self, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -61,12 +63,19 @@ class UserApi(object):
 | 
				
			|||||||
        resource_path = '/user'.replace('{format}', 'json')
 | 
					        resource_path = '/user'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'POST'
 | 
					        method = 'POST'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        header_params = {}
 | 
				
			||||||
        body_params = params.get('body')
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        body_params = None
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'body' in params:
 | 
				
			||||||
 | 
					            body_params = params['body']
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
					        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
				
			||||||
@ -76,9 +85,12 @@ class UserApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def create_users_with_array_input(self, **kwargs):
 | 
					    def create_users_with_array_input(self, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -102,12 +114,19 @@ class UserApi(object):
 | 
				
			|||||||
        resource_path = '/user/createWithArray'.replace('{format}', 'json')
 | 
					        resource_path = '/user/createWithArray'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'POST'
 | 
					        method = 'POST'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        header_params = {}
 | 
				
			||||||
        body_params = params.get('body')
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        body_params = None
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'body' in params:
 | 
				
			||||||
 | 
					            body_params = params['body']
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
					        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
				
			||||||
@ -117,9 +136,12 @@ class UserApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def create_users_with_list_input(self, **kwargs):
 | 
					    def create_users_with_list_input(self, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -143,12 +165,19 @@ class UserApi(object):
 | 
				
			|||||||
        resource_path = '/user/createWithList'.replace('{format}', 'json')
 | 
					        resource_path = '/user/createWithList'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'POST'
 | 
					        method = 'POST'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        header_params = {}
 | 
				
			||||||
        body_params = params.get('body')
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        body_params = None
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'body' in params:
 | 
				
			||||||
 | 
					            body_params = params['body']
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
					        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
				
			||||||
@ -158,9 +187,12 @@ class UserApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def login_user(self, **kwargs):
 | 
					    def login_user(self, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -185,11 +217,21 @@ class UserApi(object):
 | 
				
			|||||||
        resource_path = '/user/login'.replace('{format}', 'json')
 | 
					        resource_path = '/user/login'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'GET'
 | 
					        method = 'GET'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict(username=params.get('username'), password=params.get('password')))
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        if 'username' in params:
 | 
				
			||||||
 | 
					            query_params['username'] = params['username']
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'password' in params:
 | 
				
			||||||
 | 
					            query_params['password'] = params['password']
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -200,9 +242,12 @@ class UserApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response='str')
 | 
					                                            response='str', auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        return response
 | 
					        return response
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@ -227,11 +272,15 @@ class UserApi(object):
 | 
				
			|||||||
        resource_path = '/user/logout'.replace('{format}', 'json')
 | 
					        resource_path = '/user/logout'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'GET'
 | 
					        method = 'GET'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict())
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        query_params = {}
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -242,9 +291,12 @@ class UserApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def get_user_by_name(self, username, **kwargs):
 | 
					    def get_user_by_name(self, username, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -272,11 +324,18 @@ class UserApi(object):
 | 
				
			|||||||
        resource_path = '/user/{username}'.replace('{format}', 'json')
 | 
					        resource_path = '/user/{username}'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'GET'
 | 
					        method = 'GET'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict(username=params.get('username')))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        if 'username' in params:
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					            path_params['username'] = params['username']  
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        
 | 
				
			||||||
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -287,9 +346,12 @@ class UserApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response='User')
 | 
					                                            response='User', auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        return response
 | 
					        return response
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
@ -320,12 +382,22 @@ class UserApi(object):
 | 
				
			|||||||
        resource_path = '/user/{username}'.replace('{format}', 'json')
 | 
					        resource_path = '/user/{username}'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'PUT'
 | 
					        method = 'PUT'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict(username=params.get('username')))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        if 'username' in params:
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					            path_params['username'] = params['username']  
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        
 | 
				
			||||||
        body_params = params.get('body')
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        body_params = None
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        if 'body' in params:
 | 
				
			||||||
 | 
					            body_params = params['body']
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
					        header_params['Accept'] = self.api_client.select_header_accept(['application/json', 'application/xml'])
 | 
				
			||||||
@ -335,9 +407,12 @@ class UserApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
    def delete_user(self, username, **kwargs):
 | 
					    def delete_user(self, username, **kwargs):
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
@ -365,11 +440,18 @@ class UserApi(object):
 | 
				
			|||||||
        resource_path = '/user/{username}'.replace('{format}', 'json')
 | 
					        resource_path = '/user/{username}'.replace('{format}', 'json')
 | 
				
			||||||
        method = 'DELETE'
 | 
					        method = 'DELETE'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        path_params = remove_none(dict(username=params.get('username')))
 | 
					        path_params = {}
 | 
				
			||||||
        query_params = remove_none(dict())
 | 
					        
 | 
				
			||||||
        header_params = remove_none(dict())
 | 
					        if 'username' in params:
 | 
				
			||||||
        form_params = remove_none(dict())
 | 
					            path_params['username'] = params['username']  
 | 
				
			||||||
        files = remove_none(dict())
 | 
					        
 | 
				
			||||||
 | 
					        query_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        header_params = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        form_params = {}
 | 
				
			||||||
 | 
					        files = {}
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        body_params = None
 | 
					        body_params = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        # HTTP header `Accept`
 | 
					        # HTTP header `Accept`
 | 
				
			||||||
@ -380,9 +462,12 @@ class UserApi(object):
 | 
				
			|||||||
        # HTTP header `Content-Type`
 | 
					        # HTTP header `Content-Type`
 | 
				
			||||||
        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
					        header_params['Content-Type'] = self.api_client.select_header_content_type([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Authentication setting
 | 
				
			||||||
 | 
					        auth_settings = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
					        response = self.api_client.call_api(resource_path, method, path_params, query_params, header_params,
 | 
				
			||||||
                                            body=body_params, post_params=form_params, files=files,
 | 
					                                            body=body_params, post_params=form_params, files=files,
 | 
				
			||||||
                                            response=None)
 | 
					                                            response=None, auth_settings=auth_settings)
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +0,0 @@
 | 
				
			|||||||
from __future__ import absolute_import
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from .swagger import ApiClient
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Configuration variables
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
api_client = ApiClient("http://petstore.swagger.io/v2")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					from __future__ import absolute_import
 | 
				
			||||||
 | 
					import base64
 | 
				
			||||||
 | 
					import urllib3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_api_key_with_prefix(key):
 | 
				
			||||||
 | 
					    global api_key
 | 
				
			||||||
 | 
					    global api_key_prefix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if api_key.get(key) and api_key_prefix.get(key):
 | 
				
			||||||
 | 
					      return api_key_prefix[key] + ' ' + api_key[key]
 | 
				
			||||||
 | 
					    elif api_key.get(key):
 | 
				
			||||||
 | 
					      return api_key[key]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def get_basic_auth_token():
 | 
				
			||||||
 | 
					    global username
 | 
				
			||||||
 | 
					    global password
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return urllib3.util.make_headers(basic_auth=username + ':' + password).get('authorization')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def auth_settings():
 | 
				
			||||||
 | 
					    return { 
 | 
				
			||||||
 | 
					               'api_key': {
 | 
				
			||||||
 | 
					                   'type': 'api_key',
 | 
				
			||||||
 | 
					                   'in': 'header',
 | 
				
			||||||
 | 
					                   'key': 'api_key',
 | 
				
			||||||
 | 
					                   'value': get_api_key_with_prefix('api_key')
 | 
				
			||||||
 | 
					               },
 | 
				
			||||||
 | 
					             
 | 
				
			||||||
 | 
					           }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Default Base url
 | 
				
			||||||
 | 
					host = "http://petstore.swagger.io/v2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Default api client
 | 
				
			||||||
 | 
					api_client = None
 | 
				
			||||||
 | 
					             
 | 
				
			||||||
 | 
					# Authentication settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					api_key = {}
 | 
				
			||||||
 | 
					api_key_prefix = {}
 | 
				
			||||||
 | 
					username = ''
 | 
				
			||||||
 | 
					password = ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1,4 +1,10 @@
 | 
				
			|||||||
# coding: utf-8
 | 
					# coding: utf-8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					Credit: this file (rest.py) is modified based on rest.py in Dropbox Python SDK:
 | 
				
			||||||
 | 
					https://www.dropbox.com/developers/core/sdks/python
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
import io
 | 
					import io
 | 
				
			||||||
import json
 | 
					import json
 | 
				
			||||||
@ -120,7 +126,7 @@ class RESTClientObject(object):
 | 
				
			|||||||
        r = RESTResponse(r)
 | 
					        r = RESTResponse(r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if r.status not in range(200, 206):
 | 
					        if r.status not in range(200, 206):
 | 
				
			||||||
            raise ErrorResponse(r)
 | 
					            raise ApiException(r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return self.process_response(r)
 | 
					        return self.process_response(r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -157,7 +163,7 @@ class RESTClientObject(object):
 | 
				
			|||||||
        return self.request("PATCH", url, headers=headers, post_params=post_params, body=body)
 | 
					        return self.request("PATCH", url, headers=headers, post_params=post_params, body=body)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ErrorResponse(Exception):
 | 
					class ApiException(Exception):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    Non-2xx HTTP response
 | 
					    Non-2xx HTTP response
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
@ -184,7 +190,10 @@ class ErrorResponse(Exception):
 | 
				
			|||||||
        """
 | 
					        """
 | 
				
			||||||
        Custom error response messages
 | 
					        Custom error response messages
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        return "({0})\nReason: {1}\nHeader: {2}\nBody: {3}\n".\
 | 
					        return "({0})\n"\
 | 
				
			||||||
 | 
					            "Reason: {1}\n"\
 | 
				
			||||||
 | 
					            "HTTP response headers: {2}\n"\
 | 
				
			||||||
 | 
					            "HTTP response body: {3}\n".\
 | 
				
			||||||
            format(self.status, self.reason, self.headers, self.body)
 | 
					            format(self.status, self.reason, self.headers, self.body)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class RESTClient(object):
 | 
					class RESTClient(object):
 | 
				
			||||||
 | 
				
			|||||||
@ -1,17 +0,0 @@
 | 
				
			|||||||
from six import iteritems
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def remove_none(obj):
 | 
					 | 
				
			||||||
    if isinstance(obj, (list, tuple, set)):
 | 
					 | 
				
			||||||
        return type(obj)(remove_none(x) for x in obj if x is not None)
 | 
					 | 
				
			||||||
    elif isinstance(obj, dict):
 | 
					 | 
				
			||||||
        return type(obj)((remove_none(k), remove_none(v))
 | 
					 | 
				
			||||||
                         for k, v in iteritems(obj) if k is not None and v is not None)
 | 
					 | 
				
			||||||
    else:
 | 
					 | 
				
			||||||
        return obj
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def inspect_vars(obj):
 | 
					 | 
				
			||||||
    if not hasattr(obj, '__dict__'):
 | 
					 | 
				
			||||||
        return obj
 | 
					 | 
				
			||||||
    else:
 | 
					 | 
				
			||||||
        return {k: inspect_vars(getattr(obj, k)) for k in dir(obj)}
 | 
					 | 
				
			||||||
@ -12,6 +12,7 @@ import time
 | 
				
			|||||||
import unittest
 | 
					import unittest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import SwaggerPetstore
 | 
					import SwaggerPetstore
 | 
				
			||||||
 | 
					import SwaggerPetstore.configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HOST = 'http://petstore.swagger.io/v2'
 | 
					HOST = 'http://petstore.swagger.io/v2'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -21,6 +22,31 @@ class ApiClientTests(unittest.TestCase):
 | 
				
			|||||||
    def setUp(self):
 | 
					    def setUp(self):
 | 
				
			||||||
        self.api_client = SwaggerPetstore.ApiClient(HOST)
 | 
					        self.api_client = SwaggerPetstore.ApiClient(HOST)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_configuration(self):
 | 
				
			||||||
 | 
					        SwaggerPetstore.configuration.api_key['api_key'] = '123456'
 | 
				
			||||||
 | 
					        SwaggerPetstore.configuration.api_key_prefix['api_key'] = 'PREFIX'
 | 
				
			||||||
 | 
					        SwaggerPetstore.configuration.username = 'test_username'
 | 
				
			||||||
 | 
					        SwaggerPetstore.configuration.password = 'test_password'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        header_params = {'test1': 'value1'}
 | 
				
			||||||
 | 
					        query_params = {'test2': 'value2'}
 | 
				
			||||||
 | 
					        auth_settings = ['api_key', 'unknown']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # test prefix
 | 
				
			||||||
 | 
					        self.assertEqual('PREFIX', SwaggerPetstore.configuration.api_key_prefix['api_key'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # update parameters based on auth setting
 | 
				
			||||||
 | 
					        self.api_client.update_params_for_auth(header_params, query_params, auth_settings)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # test api key auth
 | 
				
			||||||
 | 
					        self.assertEqual(header_params['test1'], 'value1')
 | 
				
			||||||
 | 
					        self.assertEqual(header_params['api_key'], 'PREFIX 123456')
 | 
				
			||||||
 | 
					        self.assertEqual(query_params['test2'], 'value2')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # test basic auth
 | 
				
			||||||
 | 
					        self.assertEqual('test_username', SwaggerPetstore.configuration.username)
 | 
				
			||||||
 | 
					        self.assertEqual('test_password', SwaggerPetstore.configuration.password)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_select_header_accept(self):
 | 
					    def test_select_header_accept(self):
 | 
				
			||||||
        accepts = ['APPLICATION/JSON', 'APPLICATION/XML']
 | 
					        accepts = ['APPLICATION/JSON', 'APPLICATION/XML']
 | 
				
			||||||
        accept = self.api_client.select_header_accept(accepts)
 | 
					        accept = self.api_client.select_header_accept(accepts)
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,76 @@
 | 
				
			|||||||
 | 
					# coding: utf-8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					Run the tests.
 | 
				
			||||||
 | 
					$ pip install nose (optional)
 | 
				
			||||||
 | 
					$ cd SwaggerPetstore-python
 | 
				
			||||||
 | 
					$ nosetests -v
 | 
				
			||||||
 | 
					"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					import time
 | 
				
			||||||
 | 
					import unittest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import SwaggerPetstore
 | 
				
			||||||
 | 
					from SwaggerPetstore.rest import ApiException
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class ApiExceptionTests(unittest.TestCase):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def setUp(self):
 | 
				
			||||||
 | 
					        self.api_client = SwaggerPetstore.ApiClient()
 | 
				
			||||||
 | 
					        self.pet_api = SwaggerPetstore.PetApi(self.api_client)
 | 
				
			||||||
 | 
					        self.setUpModels()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def setUpModels(self):
 | 
				
			||||||
 | 
					        self.category = SwaggerPetstore.Category()
 | 
				
			||||||
 | 
					        self.category.id = int(time.time())
 | 
				
			||||||
 | 
					        self.category.name = "dog"
 | 
				
			||||||
 | 
					        self.tag = SwaggerPetstore.Tag()
 | 
				
			||||||
 | 
					        self.tag.id = int(time.time())
 | 
				
			||||||
 | 
					        self.tag.name = "blank"
 | 
				
			||||||
 | 
					        self.pet = SwaggerPetstore.Pet()
 | 
				
			||||||
 | 
					        self.pet.id = int(time.time())
 | 
				
			||||||
 | 
					        self.pet.name = "hello kity"
 | 
				
			||||||
 | 
					        self.pet.photo_urls = ["http://foo.bar.com/1", "http://foo.bar.com/2"]
 | 
				
			||||||
 | 
					        self.pet.status = "sold"
 | 
				
			||||||
 | 
					        self.pet.category = self.category
 | 
				
			||||||
 | 
					        self.pet.tags = [self.tag]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def tearDown(self):
 | 
				
			||||||
 | 
					        time.sleep(1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_404_error(self):
 | 
				
			||||||
 | 
					        self.pet_api.add_pet(body=self.pet)
 | 
				
			||||||
 | 
					        self.pet_api.delete_pet(pet_id=self.pet.id)
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        with self.assertRaisesRegexp(ApiException, "Pet not found"):
 | 
				
			||||||
 | 
					            self.pet_api.get_pet_by_id(pet_id=self.pet.id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            self.pet_api.get_pet_by_id(pet_id=self.pet.id)
 | 
				
			||||||
 | 
					        except ApiException as e:
 | 
				
			||||||
 | 
					            self.assertEqual(e.status, 404)
 | 
				
			||||||
 | 
					            self.assertEqual(e.reason, "Not Found")
 | 
				
			||||||
 | 
					            self.assertDictEqual(e.body, {'message': 'Pet not found', 'code': 1, 'type': 'error'})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_500_error(self):
 | 
				
			||||||
 | 
					        self.pet_api.add_pet(body=self.pet)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        with self.assertRaisesRegexp(ApiException, "Internal Server Error"):
 | 
				
			||||||
 | 
					            self.pet_api.upload_file(
 | 
				
			||||||
 | 
					                pet_id=self.pet.id,
 | 
				
			||||||
 | 
					                additional_metadata="special",
 | 
				
			||||||
 | 
					                file=None
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            self.pet_api.upload_file(
 | 
				
			||||||
 | 
					                pet_id=self.pet.id,
 | 
				
			||||||
 | 
					                additional_metadata="special",
 | 
				
			||||||
 | 
					                file=None
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        except ApiException as e:
 | 
				
			||||||
 | 
					            self.assertEqual(e.status, 500)
 | 
				
			||||||
 | 
					            self.assertEqual(e.reason, "Internal Server Error")
 | 
				
			||||||
 | 
					            self.assertRegexpMatches(e.body, "Error 500 Internal Server Error")
 | 
				
			||||||
@ -12,8 +12,7 @@ import time
 | 
				
			|||||||
import unittest
 | 
					import unittest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import SwaggerPetstore
 | 
					import SwaggerPetstore
 | 
				
			||||||
from SwaggerPetstore.rest import ErrorResponse
 | 
					from SwaggerPetstore.rest import ApiException
 | 
				
			||||||
from SwaggerPetstore import config
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
HOST = 'http://petstore.swagger.io/v2'
 | 
					HOST = 'http://petstore.swagger.io/v2'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -62,11 +61,11 @@ class PetApiTests(unittest.TestCase):
 | 
				
			|||||||
        # same default api client
 | 
					        # same default api client
 | 
				
			||||||
        self.assertEqual(pet_api.api_client, pet_api2.api_client)
 | 
					        self.assertEqual(pet_api.api_client, pet_api2.api_client)
 | 
				
			||||||
        # confirm using the default api client in the config module
 | 
					        # confirm using the default api client in the config module
 | 
				
			||||||
        self.assertEqual(pet_api.api_client, config.api_client)
 | 
					        self.assertEqual(pet_api.api_client, SwaggerPetstore.configuration.api_client)
 | 
				
			||||||
        # 2 different api clients are not the same
 | 
					        # 2 different api clients are not the same
 | 
				
			||||||
        self.assertNotEqual(api_client3, api_client4)
 | 
					        self.assertNotEqual(api_client3, api_client4)
 | 
				
			||||||
        # customized pet api not using the default api client
 | 
					        # customized pet api not using the default api client
 | 
				
			||||||
        self.assertNotEqual(pet_api3.api_client, config.api_client)
 | 
					        self.assertNotEqual(pet_api3.api_client, SwaggerPetstore.configuration.api_client)
 | 
				
			||||||
        # customized pet api not using the old pet api's api client
 | 
					        # customized pet api not using the old pet api's api client
 | 
				
			||||||
        self.assertNotEqual(pet_api3.api_client, pet_api2.api_client)
 | 
					        self.assertNotEqual(pet_api3.api_client, pet_api2.api_client)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -126,7 +125,7 @@ class PetApiTests(unittest.TestCase):
 | 
				
			|||||||
                additional_metadata=additional_metadata,
 | 
					                additional_metadata=additional_metadata,
 | 
				
			||||||
                file=self.foo
 | 
					                file=self.foo
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
        except ErrorResponse as e:
 | 
					        except ApiException as e:
 | 
				
			||||||
            self.fail("upload_file() raised {0} unexpectedly".format(type(e)))
 | 
					            self.fail("upload_file() raised {0} unexpectedly".format(type(e)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test_delete_pet(self):
 | 
					    def test_delete_pet(self):
 | 
				
			||||||
@ -136,7 +135,7 @@ class PetApiTests(unittest.TestCase):
 | 
				
			|||||||
        try:
 | 
					        try:
 | 
				
			||||||
            self.pet_api.get_pet_by_id(pet_id=self.pet.id)
 | 
					            self.pet_api.get_pet_by_id(pet_id=self.pet.id)
 | 
				
			||||||
            raise "expected an error"
 | 
					            raise "expected an error"
 | 
				
			||||||
        except ErrorResponse as e:
 | 
					        except ApiException as e:
 | 
				
			||||||
            self.assertEqual(404, e.status)
 | 
					            self.assertEqual(404, e.status)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == '__main__':
 | 
					if __name__ == '__main__':
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user