From 4048d7bbd8b2bd1776ec9c6db9bbbb6247482d3e Mon Sep 17 00:00:00 2001 From: someshfengde Date: Tue, 1 Oct 2024 19:50:24 +0530 Subject: [PATCH 1/4] adding error handling to for old folders ( non dynamic type ) --- cloudinary/api_client/execute_request.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cloudinary/api_client/execute_request.py b/cloudinary/api_client/execute_request.py index 97aba8cb..6aec7971 100644 --- a/cloudinary/api_client/execute_request.py +++ b/cloudinary/api_client/execute_request.py @@ -70,6 +70,8 @@ def execute_request(http_connector, method, params, headers, auth, api_url, **op raise GeneralError("Unexpected error %s" % str(e)) except socket.error as e: raise GeneralError("Socket Error: %s" % str(e)) + except Exception as e: + raise GeneralError("API is only supported on dynamic folders please check your folder mode on https://console.cloudinary.com/pm/developer-dashboard Error:%s " % str(e)) try: result = json.loads(body.decode('utf-8')) From f9e8d58ab6e8128b0febf037e18e9dc61c2367cb Mon Sep 17 00:00:00 2001 From: someshfengde Date: Tue, 1 Oct 2024 19:50:25 +0530 Subject: [PATCH 2/4] error handling for non dynamic type folders --- main.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 main.py diff --git a/main.py b/main.py new file mode 100644 index 00000000..fa3c6b16 --- /dev/null +++ b/main.py @@ -0,0 +1,29 @@ +#%% +import cloudinary +import cloudinary.uploader +from cloudinary.utils import cloudinary_url + +# Configuration +cloudinary.config( + cloud_name = "dfxefh712", + api_key = "936813184334185", + api_secret = "w6SdsGJqrm34jlKZuzvKQqHES4o", # Click 'View API Keys' above to copy your API secret + secure=True +) + +# Upload an image +upload_result = cloudinary.uploader.upload("https://res.cloudinary.com/demo/image/upload/getting-started/shoes.jpg", + public_id="shoes") +print(upload_result["secure_url"]) + +# Optimize delivery by resizing and applying auto-format and auto-quality +optimize_url, _ = cloudinary_url("shoes", fetch_format="auto", quality="auto") +print(optimize_url) + +# Transform the image: auto-crop to square aspect_ratio +auto_crop_url, _ = cloudinary_url("shoes", width=500, height=500, crop="auto", gravity="auto") +print(auto_crop_url) + + +result = cloudinary.api.create_folder('my_empty_folder') +print(result) From f71419f87d33a59f188606d828c4d037737f516d Mon Sep 17 00:00:00 2001 From: someshfengde Date: Tue, 1 Oct 2024 19:55:58 +0530 Subject: [PATCH 3/4] wrong excpetion added it to right exception --- cloudinary/api_client/execute_request.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cloudinary/api_client/execute_request.py b/cloudinary/api_client/execute_request.py index 6aec7971..b0c9faaa 100644 --- a/cloudinary/api_client/execute_request.py +++ b/cloudinary/api_client/execute_request.py @@ -76,8 +76,7 @@ def execute_request(http_connector, method, params, headers, auth, api_url, **op try: result = json.loads(body.decode('utf-8')) except Exception as e: - # Error is parsing json - raise GeneralError("Error parsing server response (%d) - %s. Got - %s" % (response.status, body, e)) + raise GeneralError("API is only supported on dynamic folders please check your folder mode on https://console.cloudinary.com/pm/developer-dashboard Error:%s " % str(e)) if "error" in result: exception_class = EXCEPTION_CODES.get(response.status) or Exception From 2ce249637b9c4d24a5c67be5fdd1b10e6eb24775 Mon Sep 17 00:00:00 2001 From: someshfengde Date: Tue, 1 Oct 2024 21:34:56 +0530 Subject: [PATCH 4/4] removed main file --- main.py | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 main.py diff --git a/main.py b/main.py deleted file mode 100644 index fa3c6b16..00000000 --- a/main.py +++ /dev/null @@ -1,29 +0,0 @@ -#%% -import cloudinary -import cloudinary.uploader -from cloudinary.utils import cloudinary_url - -# Configuration -cloudinary.config( - cloud_name = "dfxefh712", - api_key = "936813184334185", - api_secret = "w6SdsGJqrm34jlKZuzvKQqHES4o", # Click 'View API Keys' above to copy your API secret - secure=True -) - -# Upload an image -upload_result = cloudinary.uploader.upload("https://res.cloudinary.com/demo/image/upload/getting-started/shoes.jpg", - public_id="shoes") -print(upload_result["secure_url"]) - -# Optimize delivery by resizing and applying auto-format and auto-quality -optimize_url, _ = cloudinary_url("shoes", fetch_format="auto", quality="auto") -print(optimize_url) - -# Transform the image: auto-crop to square aspect_ratio -auto_crop_url, _ = cloudinary_url("shoes", width=500, height=500, crop="auto", gravity="auto") -print(auto_crop_url) - - -result = cloudinary.api.create_folder('my_empty_folder') -print(result)