From 7abec44ed94793899e057f5f4c12d967592c74db Mon Sep 17 00:00:00 2001 From: Juan Treminio <50673996+jtreminio-dropbox@users.noreply.github.com> Date: Thu, 15 May 2025 10:33:54 -0500 Subject: [PATCH] =?UTF-8?q?Python=20SDK=20-=20Download=20files=20from=20Si?= =?UTF-8?q?gnatureRequestApi=20is=20not=20working=20a=E2=80=A6=20(#485)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sdks/python/dropbox_sign/api_client.py | 9 +++++++++ sdks/python/templates/api_client.mustache | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/sdks/python/dropbox_sign/api_client.py b/sdks/python/dropbox_sign/api_client.py index 800e07ad5..509df36d4 100644 --- a/sdks/python/dropbox_sign/api_client.py +++ b/sdks/python/dropbox_sign/api_client.py @@ -302,6 +302,8 @@ def response_deserialize( try: if response_type == "bytearray": return_data = response_data.data + elif response_type == "io.IOBase": + return_data = self.__bytearray_to_iobase(response_data) elif response_type == "file": return_data = self.__deserialize_file(response_data) elif response_type is not None: @@ -691,6 +693,13 @@ def __deserialize_file(self, response): return path + def __bytearray_to_iobase(self, response): + """Convert bytearray to io.IOBase""" + buffer = io.BytesIO() + buffer.write(response.data) + buffer.seek(0) + return buffer + def __deserialize_primitive(self, data, klass): """Deserializes string to primitive type. diff --git a/sdks/python/templates/api_client.mustache b/sdks/python/templates/api_client.mustache index 1ecc9b787..3fd4b3952 100644 --- a/sdks/python/templates/api_client.mustache +++ b/sdks/python/templates/api_client.mustache @@ -318,6 +318,10 @@ class ApiClient: try: if response_type == "bytearray": return_data = response_data.data +{{#useCustomTemplateCode}} + elif response_type == "io.IOBase": + return_data = self.__bytearray_to_iobase(response_data) +{{/useCustomTemplateCode}} elif response_type == "file": return_data = self.__deserialize_file(response_data) elif response_type is not None: @@ -739,6 +743,15 @@ class ApiClient: return path + {{#useCustomTemplateCode}} + def __bytearray_to_iobase(self, response): + """Convert bytearray to io.IOBase""" + buffer = io.BytesIO() + buffer.write(response.data) + buffer.seek(0) + return buffer + + {{/useCustomTemplateCode}} def __deserialize_primitive(self, data, klass): """Deserializes string to primitive type.