#!/usr/bin/env python3
"""Bandingkan container studiosoft.id: versi published + tag di dalamnya, dan container mana yang dimuat halaman."""
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.readonly"])
gtm = build("tagmanager", "v2", credentials=creds, cache_discovery=False)

KANDIDAT = {"GTM-WQX6PGNR": ("6303077991", "224445829"),
            "GTM-PZBR35TB": ("6269687730", "206637156")}
for pub, (acc, cont) in KANDIDAT.items():
    parent = f"accounts/{acc}/containers/{cont}"
    print("=" * 90)
    print(f"CONTAINER {pub} (accounts/{acc}/containers/{cont})")
    vers = gtm.accounts().containers().versions().list(parent=parent).execute().get("containerVersionHeader", [])
    print(f"  jumlah versi tersimpan: {len(vers)}")
    for v in vers[:5]:
        print(f"    versi {v.get('containerVersionId')} | {v.get('name')} | deleted={v.get('deleted')} | "
              f"tags={v.get('numTags')} triggers={v.get('numTriggers')} variables={v.get('numVariables')}")
    if vers:
        vid = vers[0]["containerVersionId"]
        cv = gtm.accounts().containers().versions().get(path=f"{parent}/versions/{vid}").execute()
        tags = cv.get("tag", [])
        print(f"  --- isi versi terbaru ({len(tags)} tag) ---")
        for t in tags:
            print(f"    • {t.get('name')} | type={t.get('type')}")
            for p in (t.get("parameter") or []):
                k, v = p.get("key"), p.get("value")
                if k in ("eventName", "measurementId", "tagId", "html", "measurementIdOverride", "eventParameters", "streamId"):
                    print(f"        {k}: {str(v)[:200]}")
