Skip to content

Commit 2028439

Browse files
authored
Merge branch 'master' into issue_654
2 parents 99a68ac + cf0be7d commit 2028439

File tree

8 files changed

+36
-13
lines changed

8 files changed

+36
-13
lines changed

src/main/java/io/swagger/codegen/v3/generators/python/PythonClientCodegen.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.util.List;
3030
import java.util.Map;
3131
import java.util.regex.Pattern;
32+
import java.util.stream.Collectors;
3233

3334
import static io.swagger.codegen.v3.generators.handlebars.ExtensionHelper.getBooleanValue;
3435

@@ -237,8 +238,17 @@ public void processOpts() {
237238
modelPackage = packageName + "." + modelPackage;
238239
apiPackage = packageName + "." + apiPackage;
239240

240-
copyFistAllOfProperties = true;
241+
}
241242

243+
@Override
244+
public CodegenModel fromModel(String name, Schema schema, Map<String, Schema> allDefinitions) {
245+
final CodegenModel codegenModel = super.fromModel(name, schema, allDefinitions);
246+
final List<String> imports = codegenModel.imports.stream()
247+
.filter(model -> model.equals(codegenModel.parent))
248+
.collect(Collectors.toList());
249+
codegenModel.imports.clear();
250+
codegenModel.imports.addAll(imports);
251+
return codegenModel;
242252
}
243253

244254
private static String dropDots(String str) {

src/main/resources/handlebars/htmlDocs2/index.mustache

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,11 @@
211211

212212
<div class="tab-content">
213213
<div class="tab-pane active" id="examples-{{baseName}}-{{nickname}}-0-curl">
214-
<pre class="prettyprint"><code class="language-bsh">curl -X {{vendorExtensions.x-codegen-httpMethodUpperCase}}{{#authMethods}}{{#is this 'api-key'}}{{#is this 'key-in-header'}} -H "{{keyParamName}}: [[apiKey]]"{{/is}}{{/is}}{{#is this 'basic'}}{{#has this 'produces'}} -H "Accept: {{#produces}}{{{mediaType}}}{{#hasMore}},{{/hasMore}}{{/produces}}"{{/has}}{{#has this 'consumes'}} -H "Content-Type: {{#consumes}}{{{mediaType}}}{{#hasMore}},{{/hasMore}}{{/consumes}}"{{/has}} -H "Authorization: Basic [[basicHash]]"{{/is}}{{/authMethods}} "{{basePath}}{{path}}{{#hasQueryParams}}?{{#queryParams}}{{^@first}}&{{/@first}}{{baseName}}={{vendorExtensions.x-eg}}{{/queryParams}}{{/hasQueryParams}}"</code></pre>
214+
<pre class="prettyprint"><code class="language-bsh">curl -X {{vendorExtensions.x-codegen-httpMethodUpperCase}}{{#authMethods}}\
215+
{{#isApiKey}}{{#isKeyInHeader}}-H "{{keyParamName}}: [[apiKey]]"{{/isKeyInHeader}}{{/isApiKey}}{{^isBasicBearer}}{{#isBasic}} -H "Authorization: Basic [[basicHash]]"{{/isBasic}}{{/isBasicBearer}}{{#isBearer}} -H "Authorization: Bearer [[accessToken]]"{{/isBearer}}{{/authMethods}}{{#hasProduces}}\
216+
-H "Accept: {{#produces}}{{{mediaType}}}{{#hasMore}},{{/hasMore}}{{/produces}}"{{/hasProduces}}{{#hasConsumes}}\
217+
-H "Content-Type: {{#consumes}}{{{mediaType}}}{{#hasMore}},{{/hasMore}}{{/consumes}}"{{/hasConsumes}}\
218+
"{{basePath}}{{path}}{{#hasQueryParams}}?{{#queryParams}}{{^@first}}&{{/@first}}{{baseName}}={{vendorExtensions.x-eg}}{{/queryParams}}{{/hasQueryParams}}"</code></pre>
215219
</div>
216220
<div class="tab-pane" id="examples-{{baseName}}-{{nickname}}-0-java">
217221
<pre class="prettyprint"><code class="language-java">{{>sample_java}}</code></pre>

src/main/resources/handlebars/python/api_test.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ from __future__ import absolute_import
77
import unittest
88

99
import {{packageName}}
10-
from {{apiPackage}}.{{classVarName}} import {{classname}} # noqa: E501
10+
from {{packageName}}.{{apiPackage}}.{{classVarName}} import {{classname}} # noqa: E501
1111
from {{packageName}}.rest import ApiException
1212

1313

1414
class {{#operations}}Test{{classname}}(unittest.TestCase):
1515
"""{{classname}} unit test stubs"""
1616

1717
def setUp(self):
18-
self.api = {{apiPackage}}.{{classVarName}}.{{classname}}() # noqa: E501
18+
self.api = {{classname}}() # noqa: E501
1919

2020
def tearDown(self):
2121
pass

src/main/resources/handlebars/python/model.mustache

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,14 @@ import pprint
66
import re # noqa: F401
77

88
import six
9-
9+
{{#imports}}{{#@first}}
10+
{{/@first}}
11+
{{import}} # noqa: F401,E501
12+
{{/imports}}
1013

1114
{{#models}}
1215
{{#model}}
13-
class {{classname}}(object):
16+
class {{classname}}({{#parent}}{{parent}}{{/parent}}{{^parent}}object{{/parent}}):
1417
"""NOTE: This class is auto generated by the swagger code generator program.
1518

1619
Do not edit the class manually.

src/main/resources/handlebars/python/model_test.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import unittest
99
{{#models}}
1010
{{#model}}
1111
import {{packageName}}
12-
from {{modelPackage}}.{{classFilename}} import {{classname}} # noqa: E501
12+
from {{packageName}}.{{modelPackage}}.{{classFilename}} import {{classname}} # noqa: E501
1313
from {{packageName}}.rest import ApiException
1414

1515

src/main/resources/handlebars/python/tox.mustache

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
[tox]
2-
{{^asyncio}}
3-
envlist = py27, py3
4-
{{/asyncio}}
5-
{{#asyncio}}
62
envlist = py3
7-
{{/asyncio}}
83

94
[testenv]
105
deps=-r{toxinidir}/requirements.txt

src/main/resources/handlebars/python/travis.mustache

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# ref: https://docs.travis-ci.com/user/languages/python
22
language: python
33
python:
4-
- "2.7"
54
- "3.2"
65
- "3.3"
76
- "3.4"

src/main/resources/logback.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<configuration>
3+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
4+
<encoder>
5+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
6+
</encoder>
7+
</appender>
8+
<logger name="io.swagger" level="info"/>
9+
<root level="error">
10+
<appender-ref ref="STDOUT"/>
11+
</root>
12+
</configuration>

0 commit comments

Comments
 (0)