github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/python/python-experimental/model_templates/method_set_attribute.mustache (about)

     1      def set_attribute(self, name, value):
     2          # this is only used to set properties on self
     3  
     4          path_to_item = []
     5          if self._path_to_item:
     6              path_to_item.extend(self._path_to_item)
     7          path_to_item.append(name)
     8  
     9          openapi_types = self.openapi_types()
    10          if name in openapi_types:
    11              required_types_mixed = openapi_types[name]
    12          elif self.additional_properties_type is None:
    13              raise ApiKeyError(
    14                  "{0} has no key '{1}'".format(type(self).__name__, name),
    15                  path_to_item
    16              )
    17          elif self.additional_properties_type is not None:
    18              required_types_mixed = self.additional_properties_type
    19  
    20          if get_simple_class(name) != str:
    21              error_msg = type_error_message(
    22                  var_name=name,
    23                  var_value=name,
    24                  valid_classes=(str,),
    25                  key_type=True
    26              )
    27              raise ApiTypeError(
    28                  error_msg,
    29                  path_to_item=path_to_item,
    30                  valid_classes=(str,),
    31                  key_type=True
    32              )
    33  
    34          if self._check_type:
    35              value = validate_and_convert_types(
    36                  value, required_types_mixed, path_to_item, self._from_server,
    37                  self._check_type, configuration=self._configuration)
    38          if (name,) in self.allowed_values:
    39              check_allowed_values(
    40                  self.allowed_values,
    41                  (name,),
    42                  value
    43              )
    44          if (name,) in self.validations:
    45              check_validations(
    46                  self.validations,
    47                  (name,),
    48                  value
    49              )
    50          self.__dict__['_data_store'][name] = value