# ============================================================
# [추가 코드] combined_monitor.py 에 붙여넣기
#
# 아래 내용을 combined_monitor.py 에서 두 곳에 추가하세요:
#   1) 파일 상단 import 부분 아래에 → "공고_파일저장 함수" 추가
#   2) 카카오_전송() 호출 바로 다음 줄마다 → 공고_파일저장() 호출 추가
# ============================================================

import json, os
from datetime import datetime

ANNOUNCEMENT_FILE = "announcements.json"
MAX_ANNOUNCEMENTS = 200  # 최대 200개까지 보관 (오래된 것 자동 삭제)

def 공고_파일저장(사이트명, 제목, 공고URL, 첨부파일_목록):
    """
    새 공고를 announcements.json 에 저장
    → announcement_server.py 가 이 파일을 읽어서 대시보드에 전달
    """
    # 기존 파일 읽기
    if os.path.exists(ANNOUNCEMENT_FILE):
        with open(ANNOUNCEMENT_FILE, "r", encoding="utf-8") as f:
            data = json.load(f)
    else:
        data = []

    # 새 항목 맨 앞에 추가
    new_item = {
        "id": f"{사이트명}_{datetime.now().strftime('%Y%m%d%H%M%S')}",
        "site": 사이트명,
        "title": 제목,
        "url": 공고URL,
        "attachments": 첨부파일_목록 if 첨부파일_목록 else [],
        "detected_at": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    }
    data.insert(0, new_item)

    # 최대 개수 초과시 오래된 것 삭제
    if len(data) > MAX_ANNOUNCEMENTS:
        data = data[:MAX_ANNOUNCEMENTS]

    # 저장
    with open(ANNOUNCEMENT_FILE, "w", encoding="utf-8") as f:
        json.dump(data, f, ensure_ascii=False, indent=2)

    print(f"     📁 대시보드 저장 완료")


# ============================================================
# [사용 예시] 카카오_전송() 다음 줄에 아래처럼 추가하면 됩니다
#
# ok = 카카오_전송(이름, 항목["제목"], 항목["URL"], 첨부이름)
# print(f"     카카오: {'✅' if ok else '❌'}")
# 공고_파일저장(이름, 항목["제목"], 항목["URL"], 첨부이름)  ← 이 줄 추가
# ============================================================
