scam / scripts /verify_final_ppt.py
Gankit12's picture
Relative API URLs, docker-compose port fix, Phase 2 voice, HF deploy guide
6a4a552
Raw
History Blame Contribute Delete
1.84 kB
"""Verify the final comprehensive PPT has all required content."""
from pathlib import Path
from pptx import Presentation
ROOT = Path(__file__).resolve().parent.parent
PPT_PATH = ROOT / "PPT" / "ScamShield_AI_Presentation_FINAL.pptx"
def main():
prs = Presentation(str(PPT_PATH))
print(f"Verifying: {PPT_PATH.name}")
print(f"Total slides: {len(prs.slides)}\n")
required_content = {
1: ["INDIA AI IMPACT BUILDATHON", "Challenge 2"],
2: ["ScamShield AI", "honeypot"],
3: ["THE PROBLEM", "500,000", "scam"],
4: ["OUR SOLUTION", "Detection", "Engagement", "Extraction", "API"],
5: ["HOW IT WORKS", "Input", "Decision", "Output"],
6: ["PROOF IT WORKS", "Demo", "Test"],
7: ["NUANCE", "Mixed language", "Over-polite"],
8: ["TRADE-OFF", "FAILURE CASE", "Engagement depth"],
9: ["Submission by", "ScamShield AI", "Challenge 2", "Contact"]
}
all_good = True
for i, slide in enumerate(prs.slides, 1):
slide_text = " ".join([sh.text for sh in slide.shapes if hasattr(sh, "text")])
print(f"Slide {i}: ", end="")
if i in required_content:
missing = []
for keyword in required_content[i]:
if keyword.lower() not in slide_text.lower():
missing.append(keyword)
if missing:
print(f"MISSING: {', '.join(missing)}")
all_good = False
else:
print("OK - All required content present")
else:
print("OK")
print(f"\n{'='*60}")
if all_good:
print("SUCCESS: All required content is present!")
else:
print("WARNING: Some content is missing. Review the slides.")
print(f"{'='*60}")
if __name__ == "__main__":
main()