Skip to content

Instantly share code, notes, and snippets.

@wathika-eng
Created April 12, 2025 15:36
Show Gist options
  • Select an option

  • Save wathika-eng/fe191d9f032d65122da1149ea588ab09 to your computer and use it in GitHub Desktop.

Select an option

Save wathika-eng/fe191d9f032d65122da1149ea588ab09 to your computer and use it in GitHub Desktop.
import cloudinary
import cloudinary.api
import cloudinary.uploader
# Configure Cloudinary with your credentials
cloudinary.config(
cloud_name="",
api_key="",
api_secret="",
)
RESOURCE_TYPES = ["image", "raw", "video"]
def delete_all_resources_in_folder(folder):
print(f"Deleting all resources in: {folder}")
for resource_type in RESOURCE_TYPES:
next_cursor = None
while True:
try:
result = cloudinary.api.resources(
type="upload",
resource_type=resource_type,
prefix=folder,
max_results=100,
next_cursor=next_cursor
)
except cloudinary.exceptions.Error as e:
print(f"Error fetching resources ({resource_type}) in {folder}: {e}")
break
for res in result.get("resources", []):
print(f"Deleting {res['public_id']} ({resource_type})")
cloudinary.uploader.destroy(
res["public_id"],
resource_type=resource_type,
invalidate=True
)
next_cursor = result.get("next_cursor")
if not next_cursor:
break
def delete_all_subfolders(folder):
try:
subfolders = cloudinary.api.subfolders(folder).get("folders", [])
except cloudinary.exceptions.NotFound:
return
for sub in subfolders:
sub_path = sub["path"]
delete_all_subfolders(sub_path)
delete_all_resources_in_folder(sub_path)
try:
print(f"Deleting folder: {sub_path}")
cloudinary.api.delete_folder(sub_path)
except Exception as e:
print(f"Could not delete subfolder '{sub_path}': {e}")
def delete_folder(folder):
delete_all_subfolders(folder)
delete_all_resources_in_folder(folder)
try:
cloudinary.api.delete_folder(folder)
print(f"Deleted folder: {folder}")
except Exception as e:
print(f"Could not delete folder '{folder}': {e}")
# Usage
delete_folder("folder_name/")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment