1010import cloudinary_cli .modules
1111import cloudinary_cli .samples
1212from cloudinary_cli .defaults import logger
13- from cloudinary_cli .utils .config_utils import initialize , load_config , refresh_cloudinary_config
14- from cloudinary_cli .utils .utils import log_exception
13+ from cloudinary_cli .utils .config_utils import initialize , load_config , refresh_cloudinary_config , \
14+ is_valid_cloudinary_config
15+ from cloudinary_cli .utils .utils import log_exception , ConfigurationError
1516
1617CONTEXT_SETTINGS = dict (max_content_width = shutil .get_terminal_size ()[0 ], terminal_width = shutil .get_terminal_size ()[0 ])
1718
@@ -34,7 +35,7 @@ def cli(config, config_saved):
3435
3536 refresh_cloudinary_config (config [config_saved ])
3637
37- if cloudinary . config (). cloud_name is None :
38+ if not is_valid_cloudinary_config () :
3839 logger .warning ("No Cloudinary configuration found." )
3940
4041 return 0
@@ -57,8 +58,15 @@ def main():
5758 initialize ()
5859 try :
5960 exit_status = cli ()
61+ except ConfigurationError as e :
62+ log_exception (e )
63+ exit_status = 1
6064 except Exception as e :
61- log_exception (e , "Command execution failed" )
65+ # Improve configuration error handling
66+ if "Must supply cloud_name" in str (e ):
67+ log_exception ("No Cloudinary configuration found." )
68+ else :
69+ log_exception (e , "Command execution failed" )
6270 exit_status = 1
6371
6472 return exit_status
0 commit comments