11from webbrowser import open as open_url
22
33from click import command , argument , option , Choice , echo
4- from cloudinary .utils import cloudinary_url
4+ from cloudinary import utils as cld_utils
5+
6+ from cloudinary_cli .core .overrides import cloudinary_url
7+ from cloudinary_cli .utils .api_utils import handle_command
8+ from cloudinary_cli .utils .utils import print_help
9+
10+ cld_utils .cloudinary_url = cloudinary_url
11+
12+ utils_list = ["api_sign_request" , "cloudinary_url" , "download_archive_url" , "download_zip_url" ,
13+ "download_backedup_asset" , "verify_api_response_signature" , "verify_notification_signature" ]
14+
15+
16+ @command ("utils" , help = "Call Cloudinary utility methods." )
17+ @argument ("params" , nargs = - 1 )
18+ @option ("-o" , "--optional_parameter" , multiple = True , nargs = 2 , help = "Pass optional parameters as raw strings." )
19+ @option ("-O" , "--optional_parameter_parsed" , multiple = True , nargs = 2 ,
20+ help = "Pass optional parameters as interpreted strings." )
21+ @option ("-ls" , "--ls" , is_flag = True , help = "List all available utility methods." )
22+ def utils (params , optional_parameter , optional_parameter_parsed , ls ):
23+ if ls or len (params ) < 1 :
24+ return print_help (cld_utils , allow_list = utils_list )
25+
26+ echo (handle_command (params , optional_parameter , optional_parameter_parsed , cld_utils , "Utils" ))
527
628
729@command ("url" , help = "Generate a Cloudinary URL, which you can optionally open in your browser." )
@@ -20,7 +42,7 @@ def url(public_id, transformation, resource_type, delivery_type, open_in_browser
2042 public_id += ".json"
2143
2244 res = cloudinary_url (public_id , resource_type = resource_type ,
23- raw_transformation = transformation , type = delivery_type , sign_url = sign )[ 0 ]
45+ raw_transformation = transformation , type = delivery_type , sign_url = sign )
2446 echo (res )
2547
2648 if open_in_browser :
0 commit comments