From e1a2e203d3118bfae8255acdef230b12e8970491 Mon Sep 17 00:00:00 2001 From: 100gle Date: Fri, 13 Sep 2024 18:47:43 +0800 Subject: [PATCH] docs(example): Avoid `UnboundLocalError` for get_object when exception --- examples/get_object.py | 24 ++++++++++++++++-------- minio/api.py | 24 ++++++++++++++++-------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/examples/get_object.py b/examples/get_object.py index aecd93d73..aa5349840 100644 --- a/examples/get_object.py +++ b/examples/get_object.py @@ -24,14 +24,17 @@ ) # Get data of an object. +response = None try: response = client.get_object("my-bucket", "my-object") # Read data from response. finally: - response.close() - response.release_conn() + if response: + response.close() + response.release_conn() # Get data of an object of version-ID. +response = None try: response = client.get_object( "my-bucket", "my-object", @@ -39,20 +42,24 @@ ) # Read data from response. finally: - response.close() - response.release_conn() + if response: + response.close() + response.release_conn() # Get data of an object from offset and length. +response = None try: response = client.get_object( "my-bucket", "my-object", offset=512, length=1024, ) # Read data from response. finally: - response.close() - response.release_conn() + if response: + response.close() + response.release_conn() # Get data of an SSE-C encrypted object. +response = None try: response = client.get_object( "my-bucket", "my-object", @@ -60,5 +67,6 @@ ) # Read data from response. finally: - response.close() - response.release_conn() + if response: + response.close() + response.release_conn() diff --git a/minio/api.py b/minio/api.py index 025834044..ec64422f9 100644 --- a/minio/api.py +++ b/minio/api.py @@ -1187,14 +1187,17 @@ def get_object( Example:: # Get data of an object. + response = None try: response = client.get_object("my-bucket", "my-object") # Read data from response. finally: - response.close() - response.release_conn() + if response: + response.close() + response.release_conn() # Get data of an object of version-ID. + response = None try: response = client.get_object( "my-bucket", "my-object", @@ -1202,20 +1205,24 @@ def get_object( ) # Read data from response. finally: - response.close() - response.release_conn() + if response: + response.close() + response.release_conn() # Get data of an object from offset and length. + response = None try: response = client.get_object( "my-bucket", "my-object", offset=512, length=1024, ) # Read data from response. finally: - response.close() - response.release_conn() + if response: + response.close() + response.release_conn() # Get data of an SSE-C encrypted object. + response = None try: response = client.get_object( "my-bucket", "my-object", @@ -1223,8 +1230,9 @@ def get_object( ) # Read data from response. finally: - response.close() - response.release_conn() + if response: + response.close() + response.release_conn() """ check_bucket_name(bucket_name, s3_check=self._base_url.is_aws_host) check_object_name(object_name)