#!/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 = "Ngày Tôi Tắt Sóng Trực Tiếp, Anh Mới Biết Giọng Nói Là Tôi"
DESCRIPTION = """Ngay giữa buổi phát trực tiếp gây quỹ, Lạc Thanh Du kéo cần âm lượng xuống khi phát hiện giọng nói của những người góp giọng bị dùng ngoài phạm vi họ đã đồng ý. Dấu vết cho phép lại dẫn về quyền quản trị của Tạ Minh Khiêm — người điều hành chương trình và cũng là người từng nghe cô dưới một danh tính ẩn danh tám năm trước.

Thanh Du tự dựng lại chuỗi rút quyền, dấu thời gian và bản ghi thô để trả quyền quyết định cho từng người. Nhưng việc Minh Khiêm nhận ra giọng nói năm xưa không thể xóa một sự thật khó hơn phản bội: có những cách bảo vệ, dù bắt đầu từ tình yêu, vẫn có thể tước mất tiếng nói của người được bảo vệ.

🎧 Tên truyện: Ngày Tôi Tắt Sóng Trực Tiếp, Anh Mới Biết Giọng Nói Năm Ấy Là Tôi
🎙 Giọng đọc: Huyền An Audio
📚 Thể loại: Ngôn tình đô thị, tái ngộ công sở, ngược tâm, 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())
