#!/usr/bin/env python3
"""
Script to safely remove unused assets
"""

import os
from pathlib import Path

def remove_unused_assets():
    """Remove unused assets based on the report"""
    base_dir = Path(".")
    assets_dir = base_dir / "assets"
    report_file = base_dir / "unused_assets.txt"
    
    if not report_file.exists():
        print("unused_assets.txt not found. Run find_unused_assets.py first.")
        return
    
    # Read unused assets list
    unused_assets = []
    with open(report_file, 'r') as f:
        for line in f:
            line = line.strip()
            if line and not line.startswith('=') and not line.startswith('Unused'):
                unused_assets.append(line)
    
    print(f"Found {len(unused_assets)} unused assets to remove")
    
    # Ask for confirmation (in automated mode, we'll proceed)
    removed_count = 0
    failed_count = 0
    
    for asset_path_str in unused_assets:
        asset_path = assets_dir / asset_path_str
        
        if asset_path.exists():
            try:
                # Get file size for reporting
                size = asset_path.stat().st_size
                asset_path.unlink()
                removed_count += 1
                print(f"Removed: {asset_path_str} ({size} bytes)")
            except Exception as e:
                failed_count += 1
                print(f"Failed to remove {asset_path_str}: {e}")
        else:
            print(f"Not found: {asset_path_str}")
    
    print(f"\nRemoval complete:")
    print(f"  Removed: {removed_count}")
    print(f"  Failed: {failed_count}")
    print(f"  Total processed: {len(unused_assets)}")

if __name__ == "__main__":
    remove_unused_assets()
