#!/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)