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}}