From b78b6b7ee1a81fde741c18e5befba34a3907fd00 Mon Sep 17 00:00:00 2001 From: AutoPrFromHttpClientPython Date: Mon, 8 Dec 2025 07:23:58 +0000 Subject: [PATCH 1/4] Update dependencies --- packages/autorest.python/package.json | 2 +- packages/typespec-python/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/autorest.python/package.json b/packages/autorest.python/package.json index 7a051d1488..c484510b4c 100644 --- a/packages/autorest.python/package.json +++ b/packages/autorest.python/package.json @@ -29,7 +29,7 @@ }, "homepage": "https://github.com/Azure/autorest.python/blob/main/README.md", "dependencies": { - "@typespec/http-client-python": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0MTUwOC9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz", + "@typespec/http-client-python": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0NjEzMi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz", "@autorest/system-requirements": "~1.0.2", "fs-extra": "~11.2.0", "tsx": "~4.19.1" diff --git a/packages/typespec-python/package.json b/packages/typespec-python/package.json index 339209edeb..c8a3c8a76a 100644 --- a/packages/typespec-python/package.json +++ b/packages/typespec-python/package.json @@ -67,7 +67,7 @@ "js-yaml": "~4.1.0", "semver": "~7.6.2", "tsx": "~4.19.1", - "@typespec/http-client-python": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0MTUwOC9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz", + "@typespec/http-client-python": "https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0NjEzMi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz", "fs-extra": "~11.2.0" }, "devDependencies": { From b58a28b992224d1b1e2e91362914afc82962f194 Mon Sep 17 00:00:00 2001 From: AutoPrFromHttpClientPython Date: Mon, 8 Dec 2025 07:23:59 +0000 Subject: [PATCH 2/4] Add changelog .chronus/changes/auto-microsoft-python-multipart-fix-optional-files-part-2025-11-5-8-29-45.md --- ...multipart-fix-optional-files-part-2025-11-5-8-29-45.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .chronus/changes/auto-microsoft-python-multipart-fix-optional-files-part-2025-11-5-8-29-45.md diff --git a/.chronus/changes/auto-microsoft-python-multipart-fix-optional-files-part-2025-11-5-8-29-45.md b/.chronus/changes/auto-microsoft-python-multipart-fix-optional-files-part-2025-11-5-8-29-45.md new file mode 100644 index 0000000000..f335e1f127 --- /dev/null +++ b/.chronus/changes/auto-microsoft-python-multipart-fix-optional-files-part-2025-11-5-8-29-45.md @@ -0,0 +1,8 @@ +--- +changeKind: fix +packages: + - "@autorest/python" + - "@azure-tools/typespec-python" +--- + +Fix multipart when files part is optional \ No newline at end of file From ca54b0a4486322813d741ba4b77d3b10e7200484 Mon Sep 17 00:00:00 2001 From: AutoPrFromHttpClientPython Date: Mon, 8 Dec 2025 07:25:02 +0000 Subject: [PATCH 3/4] Update dependencies (2025-12-08 07:25:02) --- pnpm-lock.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 70336e21d8..d5f179011c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,8 +60,8 @@ importers: specifier: ~1.0.2 version: 1.0.2 '@typespec/http-client-python': - specifier: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0MTUwOC9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz - version: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0MTUwOC9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz(ssdlrxraybddy2z2whck5ke66m) + specifier: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0NjEzMi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz + version: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0NjEzMi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz(ssdlrxraybddy2z2whck5ke66m) fs-extra: specifier: ~11.2.0 version: 11.2.0 @@ -82,8 +82,8 @@ importers: packages/typespec-python: dependencies: '@typespec/http-client-python': - specifier: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0MTUwOC9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz - version: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0MTUwOC9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz(ssdlrxraybddy2z2whck5ke66m) + specifier: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0NjEzMi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz + version: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0NjEzMi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz(ssdlrxraybddy2z2whck5ke66m) fs-extra: specifier: ~11.2.0 version: 11.2.0 @@ -1685,8 +1685,8 @@ packages: peerDependencies: '@typespec/compiler': ^1.6.0 - '@typespec/http-client-python@https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0MTUwOC9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz': - resolution: {tarball: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0MTUwOC9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz} + '@typespec/http-client-python@https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0NjEzMi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz': + resolution: {tarball: https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0NjEzMi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz} version: 0.21.0 engines: {node: '>=20.0.0'} peerDependencies: @@ -6488,7 +6488,7 @@ snapshots: dependencies: '@typespec/compiler': 1.6.0(@types/node@24.1.0) - '@typespec/http-client-python@https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0MTUwOC9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz(ssdlrxraybddy2z2whck5ke66m)': + '@typespec/http-client-python@https://artprodcus3.artifacts.visualstudio.com/A0fb41ef4-5012-48a9-bf39-4ee3de03ee35/29ec6040-b234-4e31-b139-33dc4287b756/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2F6dXJlLXNkay9wcm9qZWN0SWQvMjllYzYwNDAtYjIzNC00ZTMxLWIxMzktMzNkYzQyODdiNzU2L2J1aWxkSWQvNTY0NjEzMi9hcnRpZmFjdE5hbWUvYnVpbGRfYXJ0aWZhY3RzX3B5dGhvbg2/content?format=file&subPath=%2Fpackages%2Ftypespec-http-client-python-0.21.0.tgz(ssdlrxraybddy2z2whck5ke66m)': dependencies: '@azure-tools/typespec-autorest': 0.62.0(qbje3v7ssxldnxnkdqqa6wvuxm) '@azure-tools/typespec-azure-core': 0.62.0(@typespec/compiler@1.6.0(@types/node@24.1.0))(@typespec/http@1.6.0(@typespec/compiler@1.6.0(@types/node@24.1.0))(@typespec/streams@0.76.0(@typespec/compiler@1.6.0(@types/node@24.1.0))))(@typespec/rest@0.76.0(@typespec/compiler@1.6.0(@types/node@24.1.0))(@typespec/http@1.6.0(@typespec/compiler@1.6.0(@types/node@24.1.0))(@typespec/streams@0.76.0(@typespec/compiler@1.6.0(@types/node@24.1.0))))) From 3979f8224c365f04dca27b0e9cae143b3358f0c6 Mon Sep 17 00:00:00 2001 From: AutoPrFromHttpClientPython Date: Mon, 8 Dec 2025 07:30:13 +0000 Subject: [PATCH 4/4] Regenerate for typespec-python (2025-12-08 07:30:13) --- .../payload/multipart/_utils/utils.py | 9 ++--- .../multipart/aio/operations/_operations.py | 36 +++++++------------ .../multipart/operations/_operations.py | 36 +++++++------------ .../payload/multipart/_utils/utils.py | 9 ++--- .../formdata/aio/operations/_operations.py | 21 ++++------- .../httpparts/aio/operations/_operations.py | 3 +- .../contenttype/aio/operations/_operations.py | 9 ++--- .../contenttype/operations/_operations.py | 9 ++--- .../nonstring/aio/operations/_operations.py | 3 +- .../nonstring/operations/_operations.py | 3 +- .../httpparts/operations/_operations.py | 3 +- .../formdata/operations/_operations.py | 21 ++++------- 12 files changed, 58 insertions(+), 104 deletions(-) diff --git a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/_utils/utils.py b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/_utils/utils.py index e98db3239d..bd821750f4 100644 --- a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/_utils/utils.py +++ b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/_utils/utils.py @@ -32,9 +32,8 @@ def serialize_multipart_data_entry(data_entry: Any) -> Any: def prepare_multipart_form_data( body: Mapping[str, Any], multipart_fields: list[str], data_fields: list[str] -) -> tuple[list[FileType], dict[str, Any]]: +) -> list[FileType]: files: list[FileType] = [] - data: dict[str, Any] = {} for multipart_field in multipart_fields: multipart_entry = body.get(multipart_field) if isinstance(multipart_entry, list): @@ -42,9 +41,11 @@ def prepare_multipart_form_data( elif multipart_entry: files.append((multipart_field, multipart_entry)) + # if files is empty, sdk core library can't handle multipart/form-data correctly, so + # we put data fields into files with filename as None to avoid that scenario. for data_field in data_fields: data_entry = body.get(data_field) if data_entry: - data[data_field] = serialize_multipart_data_entry(data_entry) + files.append((data_field, str(serialize_multipart_data_entry(data_entry)))) - return files, data + return files diff --git a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/aio/operations/_operations.py b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/aio/operations/_operations.py index 2a71097be5..b90364a920 100644 --- a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/aio/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/aio/operations/_operations.py @@ -114,11 +114,10 @@ async def basic(self, body: Union[_models.MultiPartRequest, JSON], **kwargs: Any _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_basic_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -189,11 +188,10 @@ async def file_array_and_basic(self, body: Union[_models.ComplexPartsRequest, JS _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "pictures"] _data_fields: list[str] = ["id", "address"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_file_array_and_basic_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -264,11 +262,10 @@ async def json_part(self, body: Union[_models.JsonPartRequest, JSON], **kwargs: _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["address"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_json_part_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -339,11 +336,10 @@ async def binary_array_parts(self, body: Union[_models.BinaryArrayPartsRequest, _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["pictures"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_binary_array_parts_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -414,11 +410,10 @@ async def multi_binary_parts(self, body: Union[_models.MultiBinaryPartsRequest, _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "picture"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_multi_binary_parts_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -491,11 +486,10 @@ async def check_file_name_and_content_type( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_check_file_name_and_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -566,11 +560,10 @@ async def anonymous_model(self, body: Union[_models.AnonymousModelRequest, JSON] _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_anonymous_model_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -668,11 +661,10 @@ async def json_array_and_file_array( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "pictures"] _data_fields: list[str] = ["id", "address", "previousAddresses"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_json_array_and_file_array_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -766,11 +758,10 @@ async def image_jpeg_content_type( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_image_jpeg_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -846,11 +837,10 @@ async def required_content_type( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_required_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -926,11 +916,10 @@ async def optional_content_type( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_optional_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -1019,11 +1008,10 @@ async def float(self, body: Union[_models.FloatRequest, JSON], **kwargs: Any) -> _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = [] _data_fields: list[str] = ["temperature"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_non_string_float_request( files=_files, - data=_data, headers=_headers, params=_params, ) diff --git a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/operations/_operations.py b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/operations/_operations.py index 412e98c50f..b2353f1036 100644 --- a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/operations/_operations.py @@ -224,11 +224,10 @@ def basic( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_basic_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -301,11 +300,10 @@ def file_array_and_basic( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "pictures"] _data_fields: list[str] = ["id", "address"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_file_array_and_basic_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -378,11 +376,10 @@ def json_part( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["address"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_json_part_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -455,11 +452,10 @@ def binary_array_parts( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["pictures"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_binary_array_parts_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -532,11 +528,10 @@ def multi_binary_parts( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "picture"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_multi_binary_parts_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -609,11 +604,10 @@ def check_file_name_and_content_type( # pylint: disable=inconsistent-return-sta _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_check_file_name_and_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -686,11 +680,10 @@ def anonymous_model( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_anonymous_model_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -788,11 +781,10 @@ def json_array_and_file_array( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "pictures"] _data_fields: list[str] = ["id", "address", "previousAddresses"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_json_array_and_file_array_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -884,11 +876,10 @@ def image_jpeg_content_type( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_image_jpeg_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -962,11 +953,10 @@ def required_content_type( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_required_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -1040,11 +1030,10 @@ def optional_content_type( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_optional_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -1135,11 +1124,10 @@ def float( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = [] _data_fields: list[str] = ["temperature"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_non_string_float_request( files=_files, - data=_data, headers=_headers, params=_params, ) diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/_utils/utils.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/_utils/utils.py index 201a23d19b..ac0302f596 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/_utils/utils.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/_utils/utils.py @@ -25,9 +25,8 @@ def serialize_multipart_data_entry(data_entry: Any) -> Any: def prepare_multipart_form_data( body: Mapping[str, Any], multipart_fields: list[str], data_fields: list[str] -) -> tuple[list[FileType], dict[str, Any]]: +) -> list[FileType]: files: list[FileType] = [] - data: dict[str, Any] = {} for multipart_field in multipart_fields: multipart_entry = body.get(multipart_field) if isinstance(multipart_entry, list): @@ -35,9 +34,11 @@ def prepare_multipart_form_data( elif multipart_entry: files.append((multipart_field, multipart_entry)) + # if files is empty, sdk core library can't handle multipart/form-data correctly, so + # we put data fields into files with filename as None to avoid that scenario. for data_field in data_fields: data_entry = body.get(data_field) if data_entry: - data[data_field] = serialize_multipart_data_entry(data_entry) + files.append((data_field, str(serialize_multipart_data_entry(data_entry)))) - return files, data + return files diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/aio/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/aio/operations/_operations.py index 7a0cd179d1..f5ee209c7b 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/aio/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/aio/operations/_operations.py @@ -102,11 +102,10 @@ async def basic(self, body: Union[_models3.MultiPartRequest, JSON], **kwargs: An _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_basic_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -174,11 +173,10 @@ async def file_array_and_basic(self, body: Union[_models3.ComplexPartsRequest, J _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "pictures"] _data_fields: list[str] = ["id", "address"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_file_array_and_basic_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -246,11 +244,10 @@ async def json_part(self, body: Union[_models3.JsonPartRequest, JSON], **kwargs: _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["address"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_json_part_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -318,11 +315,10 @@ async def binary_array_parts(self, body: Union[_models3.BinaryArrayPartsRequest, _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["pictures"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_binary_array_parts_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -390,11 +386,10 @@ async def multi_binary_parts(self, body: Union[_models3.MultiBinaryPartsRequest, _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "picture"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_multi_binary_parts_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -464,11 +459,10 @@ async def check_file_name_and_content_type( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_check_file_name_and_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -536,11 +530,10 @@ async def anonymous_model(self, body: Union[_models2.AnonymousModelRequest, JSON _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_anonymous_model_request( files=_files, - data=_data, headers=_headers, params=_params, ) diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/aio/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/aio/operations/_operations.py index 963036f7d6..88e0e6c4d7 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/aio/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/aio/operations/_operations.py @@ -101,11 +101,10 @@ async def json_array_and_file_array( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "pictures"] _data_fields: list[str] = ["id", "address", "previousAddresses"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_json_array_and_file_array_request( files=_files, - data=_data, headers=_headers, params=_params, ) diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/contenttype/aio/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/contenttype/aio/operations/_operations.py index 2c235f570b..8126e20f1a 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/contenttype/aio/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/contenttype/aio/operations/_operations.py @@ -99,11 +99,10 @@ async def image_jpeg_content_type( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_image_jpeg_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -176,11 +175,10 @@ async def required_content_type( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_required_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -253,11 +251,10 @@ async def optional_content_type( _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_optional_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/contenttype/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/contenttype/operations/_operations.py index 718160f573..ce1e8d8fdd 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/contenttype/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/contenttype/operations/_operations.py @@ -129,11 +129,10 @@ def image_jpeg_content_type( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_image_jpeg_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -204,11 +203,10 @@ def required_content_type( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_required_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -279,11 +277,10 @@ def optional_content_type( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_content_type_optional_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/nonstring/aio/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/nonstring/aio/operations/_operations.py index e8c7c94cf4..2a8c1f21f1 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/nonstring/aio/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/nonstring/aio/operations/_operations.py @@ -90,11 +90,10 @@ async def float(self, body: Union[_models2.FloatRequest, JSON], **kwargs: Any) - _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = [] _data_fields: list[str] = ["temperature"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_non_string_float_request( files=_files, - data=_data, headers=_headers, params=_params, ) diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/nonstring/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/nonstring/operations/_operations.py index 7341cca618..df81cc4626 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/nonstring/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/nonstring/operations/_operations.py @@ -104,11 +104,10 @@ def float( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = [] _data_fields: list[str] = ["temperature"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_non_string_float_request( files=_files, - data=_data, headers=_headers, params=_params, ) diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/operations/_operations.py index e6ca7d8b10..375fa67116 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/httpparts/operations/_operations.py @@ -115,11 +115,10 @@ def json_array_and_file_array( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "pictures"] _data_fields: list[str] = ["id", "address", "previousAddresses"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_http_parts_json_array_and_file_array_request( files=_files, - data=_data, headers=_headers, params=_params, ) diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/operations/_operations.py index 95cae277db..ffaf775517 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/operations/_operations.py @@ -164,11 +164,10 @@ def basic( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_basic_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -238,11 +237,10 @@ def file_array_and_basic( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "pictures"] _data_fields: list[str] = ["id", "address"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_file_array_and_basic_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -312,11 +310,10 @@ def json_part( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["address"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_json_part_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -386,11 +383,10 @@ def binary_array_parts( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["pictures"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_binary_array_parts_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -460,11 +456,10 @@ def multi_binary_parts( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage", "picture"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_multi_binary_parts_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -534,11 +529,10 @@ def check_file_name_and_content_type( # pylint: disable=inconsistent-return-sta _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = ["id"] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_check_file_name_and_content_type_request( files=_files, - data=_data, headers=_headers, params=_params, ) @@ -608,11 +602,10 @@ def anonymous_model( # pylint: disable=inconsistent-return-statements _body = body.as_dict() if isinstance(body, _Model) else body _file_fields: list[str] = ["profileImage"] _data_fields: list[str] = [] - _files, _data = prepare_multipart_form_data(_body, _file_fields, _data_fields) + _files = prepare_multipart_form_data(_body, _file_fields, _data_fields) _request = build_form_data_anonymous_model_request( files=_files, - data=_data, headers=_headers, params=_params, )