Skip to content

Commit 048af8e

Browse files
authored
[python-experimental] simplifies type checking (#13437)
* Better control of when to write MetaOapg * Makes MetaOapg in Schema a type hint rather than assignmnet * Samples regenerated * Adds tuple types * Removes types info * Adds _types * Samples regenerated * Adds missing mixins, samples regenerated * SchemaTypeChecker removed * Samples regnerated
1 parent 3177277 commit 048af8e

File tree

222 files changed

+887
-638
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

222 files changed

+887
-638
lines changed

modules/openapi-generator/src/main/resources/python-experimental/model_templates/dict_partial.handlebars

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ def discriminator(cls):
2525
{{/with}}
2626
{{/if}}
2727
{{#if vars}}
28+
2829
class properties:
2930
{{#each vars}}
3031
{{#if complexType}}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{{#with items}}
2+
{{#if complexType}}
3+
4+
@classmethod
5+
@property
6+
def {{baseName}}(cls) -> typing.Type['{{complexType}}']:
7+
return {{complexType}}
8+
{{else}}
9+
{{> model_templates/schema }}
10+
{{/if}}
11+
{{/with}}

modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema_composed_or_anytype.handlebars

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ class {{#if this.classname}}{{classname}}{{else}}{{#if nameInSnakeCase}}{{name}}
1111
schemas.AnyTypeSchema,
1212
{{/if}}
1313
{{else}}
14-
{{#if getHasMultipleTypes}}
15-
schemas.SchemaTypeCheckerClsFactory(typing.Union[{{#if isNull}}schemas.NoneClass, {{/if}}{{#if isMap}}frozendict.frozendict, {{/if}}{{#if isArray}}tuple, {{/if}}{{#if isString }}str, {{/if}}{{#or isInteger isNumber}}decimal.Decimal, {{/or}}{{#if isBoolean}}schemas.BoolClass, {{/if}}]),
16-
{{/if}}
1714
{{#if composedSchemas}}
1815
schemas.ComposedBase,
1916
{{/if}}
@@ -41,17 +38,9 @@ class {{#if this.classname}}{{classname}}{{else}}{{#if nameInSnakeCase}}{{name}}
4138
{{#if getFormat}}
4239
format = '{{getFormat}}'
4340
{{/if}}
44-
{{#with items}}
45-
{{#if complexType}}
46-
47-
@classmethod
48-
@property
49-
def {{baseName}}(cls) -> typing.Type['{{complexType}}']:
50-
return {{complexType}}
51-
{{else}}
52-
{{> model_templates/schema }}
41+
{{#if getItems}}
42+
{{> model_templates/list_partial }}
5343
{{/if}}
54-
{{/with}}
5544
{{#or additionalProperties getRequiredVarsMap getHasDiscriminatorWithNonEmptyMapping vars}}
5645
{{> model_templates/dict_partial }}
5746
{{/or}}

modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema_dict.handlebars

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,22 @@ class {{> model_templates/classname }}(
1414
{{/if}}
1515
"""
1616
{{/if}}
17+
{{#if isStub}}
18+
{{#or additionalProperties getRequiredVarsMap getHasDiscriminatorWithNonEmptyMapping vars}}
19+
20+
21+
class MetaOapg:
22+
{{> model_templates/dict_partial }}
23+
{{/or}}
24+
{{else}}
25+
{{#or additionalProperties getRequiredVarsMap getHasDiscriminatorWithNonEmptyMapping vars hasValidation}}
1726

1827

1928
class MetaOapg:
2029
{{> model_templates/dict_partial }}
21-
{{#unless isStub}}
2230
{{> model_templates/validations }}
23-
{{/unless}}
31+
{{/or}}
32+
{{/if}}
2433
{{> model_templates/property_type_hints }}
2534

2635
{{> model_templates/new }}

modules/openapi-generator/src/main/resources/python-experimental/model_templates/schema_list.handlebars

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,24 @@ class {{> model_templates/classname }}(
1414
{{/if}}
1515
"""
1616
{{/if}}
17+
{{#if isStub}}
18+
{{#if items}}
1719

1820

1921
class MetaOapg:
20-
{{#unless isStub}}
21-
{{> model_templates/validations }}
22-
{{/unless}}
23-
{{#with items}}
24-
{{#if complexType}}
25-
26-
@classmethod
27-
@property
28-
def {{baseName}}(cls) -> typing.Type['{{complexType}}']:
29-
return {{complexType}}
22+
{{> model_templates/list_partial }}
23+
{{/if}}
3024
{{else}}
31-
{{> model_templates/schema }}
25+
{{#or getItems hasValidation}}
26+
27+
28+
class MetaOapg:
29+
{{#if hasValidation}}
30+
{{> model_templates/validations }}
31+
{{/if}}
32+
{{> model_templates/list_partial }}
33+
{{/or}}
3234
{{/if}}
33-
{{/with}}
3435

3536
{{> model_templates/new }}
3637

0 commit comments

Comments
 (0)