# -*- coding: utf-8 -*-
"""审计 PPTX 中段落对齐不一致（同框内既有居中又有左对齐/未指定）的文本框。"""
import sys
from pptx import Presentation
EMU = 914400.0
def eff(p):
    return None if p.alignment is None else str(p.alignment)
bad = 0
for f in sys.argv[1:]:
    prs = Presentation(f)
    for i, slide in enumerate(prs.slides, 1):
        for sh in slide.shapes:
            if not sh.has_text_frame: continue
            al = [eff(p) for p in sh.text_frame.paragraphs if (p.text or '').strip()]
            al = [a for a in al]
            if len(set(al)) > 1:
                bad += 1
                print('%-34s 第%3d页 %-24s 对齐=%s ｜ %s' % (
                    f.split('/')[-1][:32], i, (sh.name or '')[:22], al,
                    ' / '.join(p.text[:14] for p in sh.text_frame.paragraphs if (p.text or '').strip())[:70]))
print('不一致文本框数:', bad)
