@@ -62,6 +62,20 @@ def clone(target, force, overwrite, concurrent_workers, fields,
6262 if not isinstance (source_assets , dict ) or not source_assets .get ('resources' ):
6363 logger .error (style (f"No asset(s) found in { cloudinary .config ().cloud_name } " , fg = "red" ))
6464 return False
65+
66+ if 'metadata' in fields :
67+ source_metadata = list_metadata_items ("metadata_fields" )
68+ if source_metadata .get ('metadata_fields' ):
69+ target_metadata = list_metadata_items ("metadata_fields" , config_to_tuple_list (target_config ))
70+ fields_compare = compare_create_metadata_items (source_metadata , target_metadata , config_to_tuple_list (target_config ), key = "metadata_fields" )
71+ source_metadata_rules = list_metadata_items ("metadata_rules" )
72+ if source_metadata_rules .get ('metadata_rules' ):
73+ target_metadata_rules = list_metadata_items ("metadata_rules" , config_to_tuple_list (target_config ))
74+ rules_compare = compare_create_metadata_items (source_metadata_rules ,target_metadata_rules , config_to_tuple_list (target_config ), key = "metadata_rules" , id_field = "name" )
75+ else :
76+ logger .info (style (f"No metadata rules found in { cloudinary .config ().cloud_name } " , fg = "yellow" ))
77+ else :
78+ logger .info (style (f"No metadata found in { cloudinary .config ().cloud_name } " , fg = "yellow" ))
6579
6680 upload_list = _prepare_upload_list (
6781 source_assets , target_config , overwrite , async_ ,
@@ -93,19 +107,6 @@ def _validate_clone_inputs(target):
93107 "as source environment." )
94108 return None , None
95109
96- if 'metadata' in fields :
97- source_metadata = list_metadata_items ("metadata_fields" )
98- if source_metadata .get ('metadata_fields' ):
99- target_metadata = list_metadata_items ("metadata_fields" , config_to_tuple_list (target_config ))
100- fields_compare = compare_create_metadata_items (source_metadata , target_metadata , config_to_tuple_list (target_config ), key = "metadata_fields" )
101- source_metadata_rules = list_metadata_items ("metadata_rules" )
102- if source_metadata_rules .get ('metadata_rules' ):
103- target_metadata_rules = list_metadata_items ("metadata_rules" , config_to_tuple_list (target_config ))
104- rules_compare = compare_create_metadata_items (source_metadata_rules ,target_metadata_rules , config_to_tuple_list (target_config ), key = "metadata_rules" , id_field = "name" )
105- else :
106- logger .info (style (f"No metadata rules found in { cloudinary .config ().cloud_name } " , fg = "yellow" ))
107- else :
108- logger .info (style (f"No metadata found in { cloudinary .config ().cloud_name } " , fg = "yellow" ))
109110
110111 auth_token = cloudinary .config ().auth_token
111112 if auth_token :
0 commit comments