From aa5c23148ad0c4ed82fd5d5881d708aa4c02fcf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Herv=C3=A9?= Date: Fri, 10 Feb 2023 18:04:39 +0100 Subject: [PATCH] Small model cleanup Remove that weird class method that always bothered me. --- .../src/generator/templates/model_utils.j2 | 30 ++++--------------- src/datadog_api_client/model_utils.py | 30 ++++--------------- 2 files changed, 12 insertions(+), 48 deletions(-) diff --git a/.generator/src/generator/templates/model_utils.j2 b/.generator/src/generator/templates/model_utils.j2 index 7904ad7c9e..9952681df7 100644 --- a/.generator/src/generator/templates/model_utils.j2 +++ b/.generator/src/generator/templates/model_utils.j2 @@ -182,24 +182,6 @@ class OpenApiModel(object): return super(OpenApiModel, cls).__new__(cls) - @classmethod - def _new_from_openapi_data(cls_, *args, **kwargs): - kwargs = change_keys_js_to_python(kwargs, cls_) - if len(args) == 1: - arg = args[0] - if arg is None and is_type_nullable(cls_): - # The input data is the 'null' value and the type is nullable. - return None - - if issubclass(cls_, ModelComposed) and allows_single_value_input(cls_): - model_kwargs = {} - oneof_instance = get_oneof_instance(cls_, model_kwargs, kwargs, model_arg=arg) - return oneof_instance - - self = super(OpenApiModel, cls_).__new__(cls_) - cls_.__init__(self, *args, **kwargs) - return self - def __init__(self, kwargs): """ :param _check_type: If True, values for parameters in openapi_types @@ -1105,17 +1087,17 @@ def deserialize_model(model_data, model_class, path_to_item, check_type, configu ) if issubclass(model_class, ModelSimple): - return model_class._new_from_openapi_data(model_data, **kw_args) + return model_class(model_data, **kw_args) elif isinstance(model_data, list): if issubclass(model_class, ModelComposed) and allows_single_value_input(model_class): - return model_class._new_from_openapi_data(model_data, **kw_args) + return model_class(model_data, **kw_args) else: - return model_class._new_from_openapi_data(*model_data, **kw_args) + return model_class(*model_data, **kw_args) if isinstance(model_data, dict): - kw_args.update(model_data) - return model_class._new_from_openapi_data(**kw_args) + kw_args.update(change_keys_js_to_python(model_data, model_class)) + return model_class(**kw_args) elif isinstance(model_data, PRIMITIVE_TYPES): - return model_class._new_from_openapi_data(model_data, **kw_args) + return model_class(model_data, **kw_args) def deserialize_file(response_data, temp_folder_path, content_disposition=None): diff --git a/src/datadog_api_client/model_utils.py b/src/datadog_api_client/model_utils.py index e28f1bd465..256b0e6559 100644 --- a/src/datadog_api_client/model_utils.py +++ b/src/datadog_api_client/model_utils.py @@ -184,24 +184,6 @@ def __new__(cls, *args, **kwargs): return super(OpenApiModel, cls).__new__(cls) - @classmethod - def _new_from_openapi_data(cls_, *args, **kwargs): - kwargs = change_keys_js_to_python(kwargs, cls_) - if len(args) == 1: - arg = args[0] - if arg is None and is_type_nullable(cls_): - # The input data is the 'null' value and the type is nullable. - return None - - if issubclass(cls_, ModelComposed) and allows_single_value_input(cls_): - model_kwargs = {} - oneof_instance = get_oneof_instance(cls_, model_kwargs, kwargs, model_arg=arg) - return oneof_instance - - self = super(OpenApiModel, cls_).__new__(cls_) - cls_.__init__(self, *args, **kwargs) - return self - def __init__(self, kwargs): """ :param _check_type: If True, values for parameters in openapi_types @@ -1108,17 +1090,17 @@ def deserialize_model(model_data, model_class, path_to_item, check_type, configu ) if issubclass(model_class, ModelSimple): - return model_class._new_from_openapi_data(model_data, **kw_args) + return model_class(model_data, **kw_args) elif isinstance(model_data, list): if issubclass(model_class, ModelComposed) and allows_single_value_input(model_class): - return model_class._new_from_openapi_data(model_data, **kw_args) + return model_class(model_data, **kw_args) else: - return model_class._new_from_openapi_data(*model_data, **kw_args) + return model_class(*model_data, **kw_args) if isinstance(model_data, dict): - kw_args.update(model_data) - return model_class._new_from_openapi_data(**kw_args) + kw_args.update(change_keys_js_to_python(model_data, model_class)) + return model_class(**kw_args) elif isinstance(model_data, PRIMITIVE_TYPES): - return model_class._new_from_openapi_data(model_data, **kw_args) + return model_class(model_data, **kw_args) def deserialize_file(response_data, temp_folder_path, content_disposition=None):