Files
driving-academy/scripts/verify_images.py
2025-10-26 23:39:49 -05:00

86 lines
2.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""
Script to verify that all local images are available and working.
"""
import os
import re
from pathlib import Path
def verify_local_images():
"""Verify that all referenced images exist locally."""
markdown_file = Path("data/balotario_clase_a_cat_I.md")
images_dir = Path("static/images")
if not markdown_file.exists():
print(f"❌ Markdown file not found: {markdown_file}")
return False
if not images_dir.exists():
print(f"❌ Images directory not found: {images_dir}")
return False
# Read markdown content
with open(markdown_file, 'r', encoding='utf-8') as f:
content = f.read()
# Find all local image references
pattern = r'!\[\]\(/static/images/(img\d+\.jpg)\)'
referenced_images = re.findall(pattern, content)
print(f"🔍 Found {len(referenced_images)} image references in markdown")
# Check if all referenced images exist
missing_images = []
existing_images = []
for img_name in referenced_images:
img_path = images_dir / img_name
if img_path.exists():
existing_images.append(img_name)
print(f"{img_name} - {img_path.stat().st_size} bytes")
else:
missing_images.append(img_name)
print(f"{img_name} - NOT FOUND")
# Check for extra images
all_local_images = list(images_dir.glob("*.jpg"))
extra_images = []
for img_path in all_local_images:
if img_path.name not in referenced_images:
extra_images.append(img_path.name)
# Summary
print(f"\n📊 Verification Summary:")
print(f"✅ Images found: {len(existing_images)}")
print(f"❌ Images missing: {len(missing_images)}")
print(f"📁 Total local images: {len(all_local_images)}")
print(f" Extra images: {len(extra_images)}")
if missing_images:
print(f"\n❌ Missing images:")
for img in missing_images:
print(f" - {img}")
if extra_images:
print(f"\n Extra images (not referenced):")
for img in extra_images:
print(f" - {img}")
# Calculate total size
total_size = sum(img.stat().st_size for img in all_local_images)
print(f"\n💾 Total images size: {total_size / 1024 / 1024:.2f} MB")
return len(missing_images) == 0
if __name__ == "__main__":
print("🔍 Verifying local images...")
success = verify_local_images()
if success:
print("\n🎉 All images are available locally!")
print("💡 Your app can now run completely offline!")
else:
print("\n⚠️ Some images are missing. Run download_images.py to fix this.")