Deserializes list or dict to model. :param data: dict, list. :param klass: class literal. :return: model object.
(self, data, klass)
| 668 | ) |
| 669 | |
| 670 | def __deserialize_model(self, data, klass): |
| 671 | """Deserializes list or dict to model. |
| 672 | |
| 673 | :param data: dict, list. |
| 674 | :param klass: class literal. |
| 675 | :return: model object. |
| 676 | """ |
| 677 | has_discriminator = False |
| 678 | if (hasattr(klass, 'get_real_child_model') |
| 679 | and klass.discriminator_value_class_map): |
| 680 | has_discriminator = True |
| 681 | |
| 682 | if not klass.openapi_types and has_discriminator is False: |
| 683 | return data |
| 684 | |
| 685 | kwargs = {} |
| 686 | if (data is not None and |
| 687 | klass.openapi_types is not None and |
| 688 | isinstance(data, (list, dict))): |
| 689 | for attr, attr_type in six.iteritems(klass.openapi_types): |
| 690 | if klass.attribute_map[attr] in data: |
| 691 | value = data[klass.attribute_map[attr]] |
| 692 | kwargs[attr] = self.__deserialize(value, attr_type) |
| 693 | |
| 694 | kwargs["local_vars_configuration"] = self.configuration |
| 695 | instance = klass(**kwargs) |
| 696 | |
| 697 | if has_discriminator: |
| 698 | klass_name = instance.get_real_child_model(data) |
| 699 | if klass_name: |
| 700 | instance = self.__deserialize(data, klass_name) |
| 701 | return instance |
no test coverage detected