#!/usr/bin/env python3
"""Publish container GTM-WQX6PGNR supaya tag konversi berlaku di situs."""
import os
from google.oauth2 import service_account
from googleapiclient.discovery import build

creds = service_account.Credentials.from_service_account_file(
    os.path.expanduser("~/.hermes/gsc_service_account.json"),
    scopes=["https://www.googleapis.com/auth/tagmanager.edit.containers",
            "https://www.googleapis.com/auth/tagmanager.edit.containerversions",
            "https://www.googleapis.com/auth/tagmanager.publish",
            "https://www.googleapis.com/auth/tagmanager.readonly"])
gtm = build("tagmanager", "v2", credentials=creds, cache_discovery=False)
CONTAINER = "accounts/6303077991/containers/224445829"
WS = CONTAINER + "/workspaces/2"

# buat versi dari workspace lalu publish
try:
    ver = gtm.accounts().containers().workspaces().create_version(
        path=WS, body={"name": "Pelacakan konversi WhatsApp & formulir",
                       "notes": "2 tag GA4 Event (manual_event_CONTACT, qualify_lead) + 2 trigger Custom Event. Dibuat via API."}).execute()
    cv = ver.get("containerVersion", {})
    print(f"versi dibuat: {cv.get('containerVersionId')} | {cv.get('name')} | tag={len(cv.get('tag', []))}")
    pub = gtm.accounts().containers().versions().publish(
        path=CONTAINER, body={"containerVersionId": cv.get("containerVersionId")}).execute()
    print("PUBLISH hasil:", str(pub)[:200])
except Exception as e:
    print("cara 1 gagal:", str(e)[:250])
    raise SystemExit(1)

# verifikasi versi live
lv = gtm.accounts().containers().versions().live(parent=CONTAINER).execute()
print("\n=== versi LIVE sekarang ===")
print("  nama:", lv.get("name"), "| versionId:", lv.get("containerVersionId"))
for t in lv.get("tag", []):
    print("  TAG:", t.get("name"), "|", t.get("type"), "| trigger", t.get("firingTriggerId"))
for g in lv.get("trigger", []):
    print("  TRIGGER:", g.get("name"), "|", g.get("type"))
