"""Extract only the three reviewed media assets from the user-supplied PPTX."""
from pathlib import Path
import argparse
from pptx import Presentation

parser = argparse.ArgumentParser()
parser.add_argument('source_pptx', type=Path)
args = parser.parse_args()
prs = Presentation(args.source_pptx)
selected = {(4, 10): 'p04-10.png', (7, 8): 'p07-08.png', (5, 13): 'p05-13.png'}
out = Path(__file__).parent / 'deliverables' / 'assets'
out.mkdir(parents=True, exist_ok=True)
for (slide_number, shape_index), name in selected.items():
    shape = prs.slides[slide_number - 1].shapes[shape_index]
    if shape.shape_type != 13:
        raise ValueError(f'Source version changed: {slide_number}/{shape_index}')
    (out / name).write_bytes(shape.image.blob)
print(f'Extracted {len(selected)} reviewed images to {out}')
