Merge pull request #1496 from wing328/python_improvement1

[Python] Add OAuth support
This commit is contained in:
wing328 2015-11-04 14:33:47 +08:00
commit 8fa06a1878
6 changed files with 32 additions and 3 deletions

View File

@ -173,6 +173,9 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
// sanitize name
name = sanitizeName(name);
// remove dollar sign
name = name.replaceAll("$", "");
// if it's all uppper case, convert to lower case
if (name.matches("^[A-Z_]*$")) {
name = name.toLowerCase();
@ -203,6 +206,9 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
public String toModelName(String name) {
name = sanitizeName(name);
// remove dollar sign
name = name.replaceAll("$", "");
// model name cannot use reserved keyword, e.g. return
if (reservedWords.contains(name)) {
throw new RuntimeException(name + " (reserved word) cannot be used as a model name");

View File

@ -71,6 +71,10 @@ class Configuration(object):
self.username = ""
# Password for HTTP basic authentication
self.password = ""
{{#authMethods}}{{#isOAuth}}
# access token for OAuth
self.access_token = ""
{{/isOAuth}}{{/authMethods}}
# Logging Settings
self.logger = {}
@ -231,8 +235,15 @@ class Configuration(object):
'key': 'Authorization',
'value': self.get_basic_auth_token()
},
{{/isBasic}}
{{/authMethods}}
{{/isBasic}}{{#isOauth}}
'{{name}}':
{
'type': 'oauth2',
'in': 'header',
'key': 'Authorization',
'value': 'Bearer ' + self.access_token
},
{{/isOauth}}{{/authMethods}}
}
def to_debug_report(self):

View File

@ -13,3 +13,10 @@ Collecting pluggy<0.4.0,>=0.3.0 (from tox->-r dev-requirements.txt (line 2))
Using cached pluggy-0.3.0-py2.py3-none-any.whl
Installing collected packages: nose, virtualenv, py, pluggy, tox, coverage, randomize
Successfully installed coverage-3.7.1 nose-1.3.7 pluggy-0.3.0 py-1.4.30 randomize-0.13 tox-2.1.1 virtualenv-13.1.2
Requirement already satisfied (use --upgrade to upgrade): nose in ./.venv/lib/python2.7/site-packages (from -r dev-requirements.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): tox in ./.venv/lib/python2.7/site-packages (from -r dev-requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): coverage in ./.venv/lib/python2.7/site-packages (from -r dev-requirements.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): randomize in ./.venv/lib/python2.7/site-packages (from -r dev-requirements.txt (line 4))
Requirement already satisfied (use --upgrade to upgrade): virtualenv>=1.11.2 in ./.venv/lib/python2.7/site-packages (from tox->-r dev-requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): py>=1.4.17 in ./.venv/lib/python2.7/site-packages (from tox->-r dev-requirements.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): pluggy<0.4.0,>=0.3.0 in ./.venv/lib/python2.7/site-packages (from tox->-r dev-requirements.txt (line 2))

View File

@ -409,7 +409,7 @@ class PetApi(object):
select_header_content_type([])
# Authentication setting
auth_settings = ['api_key', 'petstore_auth']
auth_settings = ['api_key']
response = self.api_client.call_api(resource_path, method,
path_params,

View File

@ -72,6 +72,10 @@ class Configuration(object):
# Password for HTTP basic authentication
self.password = ""
# access token for OAuth
self.access_token = ""
# Logging Settings
self.logger = {}
self.logger["package_logger"] = logging.getLogger("swagger_client")
@ -220,6 +224,7 @@ class Configuration(object):
'key': 'api_key',
'value': self.get_api_key_with_prefix('api_key')
},
}
def to_debug_report(self):