import json, re, sys

NL = "\n\n"

ss = (
    "Marketing industri bukan soal iklan besar. Yang bikin pabrik dapat buyer adalah halaman produk yang menjawab spesifikasi teknis pembeli." + NL +
    "Begitu buyer korporat mengetik kebutuhannya di Google, halaman yang lengkap dan jelas yang menang, bukan yang paling rajin posting." + NL +
    "Selengkapnya: https://studiosoft.id/marketing-industri/" + NL +
    "Menurut kamu, industri apa yang paling tertinggal soal kehadiran digital?" + NL +
    "#seo #digitalmarketing #manufaktur #industri"
)

uky = (
    "Banyak pabrik di Sidoarjo produknya kuat, tapi pembeli tidak nemu mereka di Google." + NL +
    "Buyer korporat nyarinya lewat pencarian, bukan scroll sosmed. Yang mereka ketik nama produknya, bukan nama brand." + NL +
    "Tiga tahun pegang klien manufaktur, polanya sama: begitu halaman produk rapi, permintaan penawaran naik tanpa iklan." + NL +
    "Selengkapnya: https://studiosoft.id/marketing-industri/" + NL +
    "Menurut kamu, kenapa bisnis B2B sering nggak kepikiran optimasi pencarian?" + NL +
    "#bisnis #seo #manufaktur #umkm"
)

tslaw = (
    "Banyak yang tanya: kok biaya jasa law firm bisa beda-beda? Bukan cuma soal nama besar kantornya." + NL +
    "Yang dihitung biasanya jam kerja tim, kerumitan perkara, dan pengurusan ke instansi." + NL +
    "Makanya waktu tanya harga, minta rinciannya. Angka tanpa rincian yang bikin biaya bengkak di tengah jalan." + NL +
    "Selengkapnya: https://www.tslaw.id/biaya-jasa-law-firm-surabaya/" + NL +
    "Pernah minta rincian biaya sebelum tanda tangan? Ceritakan di komentar." + NL +
    "#hukum #lawfirm #biayahukum"
)

tsc = (
    "Bekas jerawat bukan cuma masalah permukaan, jaringan di bawah kulit yang perlu dibenahi." + NL +
    "Microneedling bikin mikro-kanal halus supaya serum booster terserap lebih dalam, biar kolagen baru terbentuk." + NL +
    "Hasilnya bertahap, butuh beberapa sesi, bukan sekali datang." + NL +
    "Info lengkap: https://www.theskincodeclinic.com/microneedling-dermapen-bekas-jerawat-krian/" + NL +
    "Kamu tim sabar ikut beberapa sesi, atau maunya instan? Tulis di komentar." + NL +
    "#dokterkulit #klinikkulit #microneedling"
)

das = (
    "Pilih bengkel jangan cuma lihat harga. Yang sering kelewat justru hal sepele." + NL +
    "Mau nggak mereka tunjuk rincian pekerjaan sebelum mobil dibongkar? Ada garansi sparepart? Mekaniknya paham mobil premium atau general?" + NL +
    "Cek juga antrean dan waktu pengerjaan. Bengkel rapi berani janji tanggal selesai." + NL +
    "https://dasindonesia.com/checklist-memilih-bengkel-terbaik-di-surabaya/" + NL +
    "Pernah dapat pengalaman kurang enak pas pilih bengkel? Cerita di komentar." + NL +
    "#bengkelmobil #tipsotomotif #surabaya"
)

data = {
    "date": "2026-10-06",
    "accounts": [
        {"account": "studiosoft", "slot": 11, "topic": "SEO Industri", "title": "StudioSoft - Marketing Industri", "allow_if_no_ownlink": True, "text": ss},
        {"account": "uky", "slot": 14, "topic": "Bisnis & Strategi", "title": "uky Bisnis & Strategi 2026-10-06", "allow_if_no_ownlink": True, "text": uky},
        {"account": "tslaw", "slot": 17, "topic": "Edukasi Hukum", "title": "TS Law - Biaya Jasa Law Firm", "allow_if_no_ownlink": True, "text": tslaw},
        {"account": "tsc", "slot": 20, "topic": "Perawatan Kulit", "title": "TSC - Microneedling Bekas Jerawat", "allow_if_no_ownlink": True, "text": tsc},
        {"account": "das", "slot": 23, "topic": "Tips Otomotif", "title": "DAS - Checklist Memilih Bengkel", "allow_if_no_ownlink": True, "text": das},
    ],
}

CTA_RE = re.compile(r"komentar|tulis di|ceritakan|menurut kamu|share|pengalaman", re.I)
CJK_RE = re.compile(r"[\u3000-\u303f\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uac00-\ud7af]")
URL_RE = re.compile(r"https?://\S+")
TAG_RE = re.compile(r"#(\w+)")
MENTION_RE = re.compile(r"@\w")
ok = True
for it in data["accounts"]:
    t = it["text"]
    probs = []
    if len(t) > 500: probs.append(f"PANJANG {len(t)}")
    if not URL_RE.search(t): probs.append("tanpa link")
    if not CTA_RE.search(t[-180:]): probs.append("tanpa CTA di ekor")
    if MENTION_RE.search(t): probs.append("ada @mention")
    if CJK_RE.search(t): probs.append("ADA CJK")
    bad = [g for g in TAG_RE.findall(t) if g != g.lower()]
    if bad: probs.append(f"hashtag besar {bad}")
    print(f"{it['account']:11s} len={len(t):3d} {'❌ ' + '; '.join(probs) if probs else '✅'}")
    if probs: ok = False

if ok:
    with open("/home/mantapman/.hermes/profiles/atun/workspace/threads_content_today.json", "w") as f:
        json.dump(data, f, ensure_ascii=False, indent=2)
    print("\n✅ threads_content_today.json ditulis")
else:
    print("\n❌ belum ditulis")
    sys.exit(1)
