#!/usr/bin/env python3
from app import app
from models import db, CaseDocument

with app.app_context():
    # Find the document
    doc = CaseDocument.query.filter(
        CaseDocument.original_filename.like('%Enhancing_Network_Security%')
    ).first()

    if doc:
        print(f"Document: {doc.original_filename}")
        print(f"  ID: {doc.id}")
        print(f"  Case ID: {doc.case_id}")
        print(f"  Has Analysis: {doc.has_analysis()}")
        print(f"  Analysis Job ID: {doc.analysis_job_id}")
        print(f"  Has Summarization: {doc.has_summarization()}")
        print(f"  Summarization Job ID: {doc.summarization_job_id}")

        if doc.has_analysis():
            from models import AnalysisJob, AnalysisResult
            job = AnalysisJob.query.filter_by(job_uuid=doc.analysis_job_id).first()
            if job:
                print(f"\n  Analysis Status: {job.status}")
                if job.results:
                    text = job.results.final_analysis
                    count = text.lower().count('vulnerabilities')
                    print(f"  'vulnerabilities' mentions in analysis: {count}")
                    if count > 0:
                        # Show snippet
                        pos = text.lower().find('vulnerabilities')
                        print(f"  Snippet: ...{text[max(0,pos-50):pos+50]}...")

        if doc.has_summarization():
            from models import SummarizationJob, SummarizationResult
            job = SummarizationJob.query.filter_by(job_uuid=doc.summarization_job_id).first()
            if job:
                print(f"\n  Summarization Status: {job.status}")
                if job.results:
                    text = job.results.summary
                    count = text.lower().count('vulnerabilities')
                    print(f"  'vulnerabilities' mentions in summary: {count}")
                    if count > 0:
                        pos = text.lower().find('vulnerabilities')
                        print(f"  Snippet: ...{text[max(0,pos-50):pos+50]}...")
    else:
        print("Document not found. Searching for similar names...")
        docs = CaseDocument.query.filter(
            CaseDocument.original_filename.like('%Network%')
        ).all()
        print(f"Found {len(docs)} documents with 'Network' in name:")
        for d in docs:
            print(f"  - {d.original_filename} (ID: {d.id}, Analyzed: {d.has_analysis()}, Summarized: {d.has_summarization()})")
