85 lines
No EOL
3 KiB
Python
85 lines
No EOL
3 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Test script to specifically process 6786505.jpg with the CLI
|
|
"""
|
|
|
|
import subprocess
|
|
import json
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
def test_6786505_processing():
|
|
"""Test processing 6786505.jpg with the CLI"""
|
|
print("=" * 60)
|
|
print("TESTING 6786505.jpg PROCESSING WITH CLI")
|
|
print("=" * 60)
|
|
|
|
# First backup the layouts directory
|
|
layouts_dir = Path("layouts")
|
|
all_layouts = list(layouts_dir.glob("*.jpg"))
|
|
|
|
# Temporarily remove other layouts so --test processes only 6786505.jpg
|
|
temp_dir = Path("temp_layouts")
|
|
temp_dir.mkdir(exist_ok=True)
|
|
|
|
# Move all layouts except 6786505.jpg to temp directory
|
|
for layout in all_layouts:
|
|
if layout.name != "6786505.jpg":
|
|
layout.rename(temp_dir / layout.name)
|
|
|
|
try:
|
|
# Run the CLI with split mode
|
|
print("Running CLI with split mode...")
|
|
result = subprocess.run([
|
|
"python", "cli.py",
|
|
"--test", "--split", "--openai"
|
|
],
|
|
capture_output=True, text=True, cwd=".",
|
|
env={"PATH": "/Users/michael.clervi/Documents/projects/master_adapt_detect/venv/bin:/usr/local/bin:/usr/bin:/bin"}
|
|
)
|
|
|
|
print("CLI Output:")
|
|
print(result.stdout)
|
|
if result.stderr:
|
|
print("CLI Errors:")
|
|
print(result.stderr)
|
|
|
|
# Check if results file was created
|
|
results_file = Path("results/test_results_openai_split.json")
|
|
if results_file.exists():
|
|
with open(results_file, 'r') as f:
|
|
results = json.load(f)
|
|
|
|
print(f"\n📊 Results Analysis:")
|
|
print(f"Total layouts processed: {results.get('total_layouts', 0)}")
|
|
|
|
# Check the layout results
|
|
layout_results = results.get('layout_results', {})
|
|
for layout_name, layout_data in layout_results.items():
|
|
print(f"\n📁 Layout: {layout_name}")
|
|
print(f" Panel count: {layout_data.get('panel_count', 'unknown')}")
|
|
print(f" Splits generated: {layout_data.get('splits_generated', 'unknown')}")
|
|
print(f" Detected masters: {len(layout_data.get('detected_masters', []))}")
|
|
|
|
# Check if we got 14 panels
|
|
if layout_data.get('panel_count') == 14:
|
|
print(f" ✅ SUCCESS: Correctly detected 14 panels!")
|
|
return True
|
|
else:
|
|
print(f" ❌ Expected 14 panels, got {layout_data.get('panel_count')}")
|
|
return False
|
|
else:
|
|
print("❌ Results file not found")
|
|
return False
|
|
|
|
finally:
|
|
# Restore all layouts
|
|
for layout in temp_dir.glob("*.jpg"):
|
|
layout.rename(layouts_dir / layout.name)
|
|
temp_dir.rmdir()
|
|
|
|
return False
|
|
|
|
if __name__ == "__main__":
|
|
success = test_6786505_processing()
|
|
sys.exit(0 if success else 1) |