#!/usr/bin/env python3
import json
import sys
from datetime import datetime, timezone
from pathlib import Path

PROJECT = Path(__file__).resolve().parents[1]
PROMOTION = PROJECT / "story/promotion-report.json"
OUT = PROJECT / "output/info.txt"
RECEIPT = PROJECT / "log/metadata-verification.json"
TITLE = "Cô Giáo Bị Vu Lộ Đề Thi, Chín Tờ Giấy Than Đồng Loạt Lên Tiếng"
DESCRIPTION = """Đường Nhã Tâm đang phụ trách quy trình in kín cho kỳ thi học bổng của Học Viện Minh Triều thì chín tờ giấy than mang nội dung đề thi bị tìm thấy trong tủ cá nhân. Nhật ký cửa ghi thẻ của cô xuất hiện lúc nửa đêm, lớp học miễn phí bị giải tán và những người biết chuyện lần lượt chọn im lặng.

Không chấp nhận đổi danh dự lấy quyền tác giả quy trình bảo mật do mình xây dựng, Nhã Tâm lần theo dấu ép, mép giấy và những sai lệch trong chuỗi bàn giao. Cuộc phản công không chỉ nhằm rửa oan, mà còn trả lại cơ hội cho những học sinh bị cuốn vào một cuộc tranh giành quyền lực.

🎧 Tên truyện: Cô Giáo Bị Vu Lộ Đề Thi, Chín Tờ Giấy Than Đồng Loạt Lên Tiếng
🎙 Giọng đọc: Huyền An Audio
📚 Thể loại: Drama nghề nghiệp, giáo dục hư cấu, vu oan, chiếm quyền quy trình, phản công
Tình trạng: Trọn bộ

Nếu yêu thích câu chuyện, hãy đăng ký kênh và để lại cảm nhận của bạn dưới phần bình luận.

Huyền An Audio – Lắng nghe một thế giới khác.

Nội dung được phát hành độc quyền tại Huyền An Audio. Vui lòng không sao chép và đăng tải lại dưới bất kỳ hình thức nào.

#HuyenAnAudio #TruyenAudio #NgheTruyen #TruyenHay #TruyenDemKhuya #DramaNgheNghiep"""


def main():
    if not PROMOTION.exists():
        print("Metadata blocked: promotion missing", file=sys.stderr)
        return 1
    promotion = json.loads(PROMOTION.read_text())
    canon = promotion.get("spoken_sha256")
    if promotion.get("verified") is not True or not canon:
        print("Metadata blocked: promotion invalid", file=sys.stderr)
        return 1
    youtube_title = TITLE + " | Truyện Audio Full | Huyền An Audio"
    if not 2 <= len(youtube_title) <= 100:
        print("Metadata blocked: title length", file=sys.stderr)
        return 1
    OUT.parent.mkdir(parents=True, exist_ok=True)
    OUT.write_text("TITLE\n" + youtube_title + "\n\nDESCRIPTION\n" + DESCRIPTION.strip() + "\n")
    receipt = {"version": 1, "verified": True, "source_canon_sha256": canon, "title": youtube_title, "title_length": len(youtube_title), "description_chars": len(DESCRIPTION.strip()), "output": "output/info.txt", "checked_at": datetime.now(timezone.utc).isoformat()}
    RECEIPT.write_text(json.dumps(receipt, ensure_ascii=False, indent=2) + "\n")
    print(json.dumps(receipt, ensure_ascii=False))
    return 0


if __name__ == "__main__":
    sys.exit(main())
