github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/python/python-experimental/model_templates/classvars.mustache (about) 1 allowed_values = { 2 {{#requiredVars}} 3 {{#isEnum}} 4 ('{{name}}',): { 5 {{#isNullable}} 6 'None': None, 7 {{/isNullable}} 8 {{#allowableValues}} 9 {{#enumVars}} 10 '{{name}}': {{{value}}}, 11 {{/enumVars}} 12 {{/allowableValues}} 13 }, 14 {{/isEnum}} 15 {{/requiredVars}} 16 {{#optionalVars}} 17 {{#isEnum}} 18 ('{{name}}',): { 19 {{#isNullable}} 20 'None': None, 21 {{/isNullable}} 22 {{#allowableValues}} 23 {{#enumVars}} 24 '{{name}}': {{{value}}}, 25 {{/enumVars}} 26 {{/allowableValues}} 27 }, 28 {{/isEnum}} 29 {{/optionalVars}} 30 } 31 32 validations = { 33 {{#requiredVars}} 34 {{#hasValidation}} 35 ('{{name}}',): { 36 {{#maxLength}} 37 'max_length': {{maxLength}}, 38 {{/maxLength}} 39 {{#minLength}} 40 'min_length': {{minLength}}, 41 {{/minLength}} 42 {{#maxItems}} 43 'max_items': {{maxItems}}, 44 {{/maxItems}} 45 {{#minItems}} 46 'min_items': {{minItems}}, 47 {{/minItems}} 48 {{#maximum}} 49 {{#exclusiveMaximum}}'exclusive_maximum'{{/exclusiveMaximum}}'inclusive_maximum'{{^exclusiveMaximum}}{{/exclusiveMaximum}}: {{maximum}}, 50 {{/maximum}} 51 {{#minimum}} 52 {{#exclusiveMinimum}}'exclusive_minimum'{{/exclusiveMinimum}}'inclusive_minimum'{{^exclusiveMinimum}}{{/exclusiveMinimum}}: {{minimum}}, 53 {{/minimum}} 54 {{#pattern}} 55 'regex': { 56 'pattern': r'{{{vendorExtensions.x-regex}}}', # noqa: E501{{#vendorExtensions.x-modifiers}} 57 {{#-first}}'flags': (re.{{.}}{{/-first}}{{^-first}} re.{{.}}{{/-first}}{{^-last}} | {{/-last}}{{#-last}}){{/-last}}{{/vendorExtensions.x-modifiers}} 58 }, 59 {{/pattern}} 60 }, 61 {{/hasValidation}} 62 {{/requiredVars}} 63 {{#optionalVars}} 64 {{#hasValidation}} 65 ('{{name}}',): { 66 {{#maxLength}} 67 'max_length': {{maxLength}}, 68 {{/maxLength}} 69 {{#minLength}} 70 'min_length': {{minLength}}, 71 {{/minLength}} 72 {{#maxItems}} 73 'max_items': {{maxItems}}, 74 {{/maxItems}} 75 {{#minItems}} 76 'min_items': {{minItems}}, 77 {{/minItems}} 78 {{#maximum}} 79 {{#exclusiveMaximum}}'exclusive_maximum'{{/exclusiveMaximum}}'inclusive_maximum'{{^exclusiveMaximum}}{{/exclusiveMaximum}}: {{maximum}}, 80 {{/maximum}} 81 {{#minimum}} 82 {{#exclusiveMinimum}}'exclusive_minimum'{{/exclusiveMinimum}}'inclusive_minimum'{{^exclusiveMinimum}}{{/exclusiveMinimum}}: {{minimum}}, 83 {{/minimum}} 84 {{#pattern}} 85 'regex': { 86 'pattern': r'{{{vendorExtensions.x-regex}}}', # noqa: E501{{#vendorExtensions.x-modifiers}} 87 {{#-first}}'flags': (re.{{.}}{{/-first}}{{^-first}} re.{{.}}{{/-first}}{{^-last}} | {{/-last}}{{#-last}}){{/-last}}{{/vendorExtensions.x-modifiers}} 88 }, 89 {{/pattern}} 90 }, 91 {{/hasValidation}} 92 {{/optionalVars}} 93 } 94 95 additional_properties_type = {{#additionalPropertiesType}}({{{additionalPropertiesType}}},) # noqa: E501{{/additionalPropertiesType}}{{^additionalPropertiesType}}None{{/additionalPropertiesType}} 96 97 @staticmethod 98 def openapi_types(): 99 """ 100 This must be a class method so a model may have properties that are 101 of type self, this ensures that we don't create a cyclic import 102 103 Returns 104 openapi_types (dict): The key is attribute name 105 and the value is attribute type. 106 """ 107 return { 108 {{#requiredVars}} 109 '{{name}}': ({{{dataType}}},), # noqa: E501 110 {{/requiredVars}} 111 {{#optionalVars}} 112 '{{name}}': ({{{dataType}}},), # noqa: E501 113 {{/optionalVars}} 114 } 115 116 @staticmethod 117 def discriminator(): 118 return {{^discriminator}}None{{/discriminator}}{{#discriminator}}{ 119 '{{{discriminatorName}}}': { 120 {{#children}} 121 '{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}': {{{classname}}}, 122 {{/children}} 123 {{^children}} 124 {{#mappedModels}} 125 '{{mappingName}}': {{{modelName}}}, 126 {{/mappedModels}} 127 {{/children}} 128 }, 129 }{{/discriminator}}