#!/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 = "Kho Thất Lạc Đóng Cửa, Anh Mới Biết Tôi Giữ Vali Đỏ Bảy Năm"
DESCRIPTION = """Kho đồ thất lạc của bến phà Thanh Dữ chỉ còn bảy ngày trước khi đóng cửa. Tạ Vãn Thu đã giữ một chiếc vali đỏ suốt bảy năm, bởi mọi người đến nhận đều trả lời sai câu hỏi về chiếc khóa đồng.

Khi Cố Trầm Chu xuất hiện với lệnh bàn giao, anh cũng trả lời sai. Nhưng trong những cuộn băng cassette bên trong vali lại có giọng của mẹ anh và dấu sửa chữa của cha cô. Hai người buộc phải lần theo chuyến phà cuối, tiếng chuông báo sương ba nhịp và một lời hẹn đã bị nghe sai, trước khi toàn bộ kho ký ức bị thanh lý.

🎧 Tên truyện: Ngày Kho Thất Lạc Đóng Cửa, Anh Mới Biết Tôi Đã Giữ Chiếc Vali Đỏ Bảy Năm
🎙 Giọng đọc: Huyền An Audio
📚 Thể loại: Ngôn tình đô thị, bí ẩn gia đình, chữa lành
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 #TruyenNgonTinh"""


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())
