diff --git a/.chronus/changes/python-extratItemsPylintDisable-2026-1-23-12-3-45.md b/.chronus/changes/python-extratItemsPylintDisable-2026-1-23-12-3-45.md new file mode 100644 index 00000000000..711633e6938 --- /dev/null +++ b/.chronus/changes/python-extratItemsPylintDisable-2026-1-23-12-3-45.md @@ -0,0 +1,7 @@ +--- +changeKind: fix +packages: + - "@typespec/http-client-python" +--- + +Add pylint disable for list of elem deserialization \ No newline at end of file diff --git a/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py b/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py index 46611d152ac..b6b80fb3acb 100644 --- a/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py +++ b/packages/http-client-python/generator/pygen/codegen/serializers/builder_serializer.py @@ -1418,15 +1418,22 @@ def _extract_data_callback( # pylint: disable=too-many-statements,too-many-bran access = ( "".join([f'.get("{i}", {{}})' for i in item_name_array[:-1]]) + f'.get("{item_name_array[-1]}", [])' ) - list_of_elem_deserialized = "" + pylint_disable = "" if self.code_model.options["models-mode"] == "dpg": item_type = builder.item_type.type_annotation( is_operation_file=True, serialize_namespace=self.serialize_namespace ) - list_of_elem_deserialized = f"_deserialize({item_type}, deserialized{access})" + pylint_disable = " # pylint: disable=protected-access" if builder.item_type.internal else "" + list_of_elem_deserialized = [ + "_deserialize(", + f"{item_type},{pylint_disable}", + f"deserialized{access},", + ")", + ] else: - list_of_elem_deserialized = f"deserialized{access}" - retval.append(f" list_of_elem = {list_of_elem_deserialized}") + list_of_elem_deserialized = [f"deserialized{access}"] + list_of_elem_deserialized_str = "\n ".join(list_of_elem_deserialized) + retval.append(f" list_of_elem = {list_of_elem_deserialized_str}") retval.append(" if cls:") retval.append(" list_of_elem = cls(list_of_elem) # type: ignore")