#!/usr/bin/env python3
"""ImageMagick full-screen comparisons; no crop, alignment, or masked pixels."""
import argparse
import datetime
import json
import pathlib
import subprocess

parser = argparse.ArgumentParser()
parser.add_argument('before')
parser.add_argument('after')
args = parser.parse_args()
root = pathlib.Path('/tmp/lead-32840-r1/evidence-capture')
run = root / ('diff-' + datetime.datetime.now(datetime.timezone.utc).isoformat().replace(':', '-'))
run.mkdir()
metrics = {}
for name, fuzz in [('Diff0', '0%'), ('DiffT', '2%')]:
    output = run / f'C1-{name}.png'
    command = ['compare', '-metric', 'AE', '-fuzz', fuzz, '-highlight-color', '#ff00ff', '-lowlight-color', '#111111', '-compose', 'Src', args.before, args.after, str(output)]
    result = subprocess.run(command, text=True, capture_output=True)
    if result.returncode not in [0, 1]: raise RuntimeError(result.stderr)
    metrics[name] = {'fuzz': fuzz, 'differentPixels': result.stderr.strip(), 'output': str(output), 'command': command}
(run / 'metrics.json').write_text(json.dumps(metrics, indent=2))
print(json.dumps(metrics, indent=2))
