Files
janssen/KPC/_list_cats_v0.py
2026-06-18 09:31:33 +02:00

35 lines
1.8 KiB
Python

"""_list_cats_v0.py — DOČASNÉ: vypíše nedávné e-maily mailboxu (argv[1]) + jejich kategorie."""
import sys
sys.stdout.reconfigure(encoding="utf-8")
import msal, requests
TENANT_ID="7d269944-37a4-43a1-8140-c7517dc426e9"
CLIENT_ID="4b222bfd-78c9-4239-a53f-43006b3ed07f"
CLIENT_SECRET="Txg8Q~MjhocuopxsJyJBhPmDfMxZ2r5WpTFj1dfk"
AUTHORITY=f"https://login.microsoftonline.com/{TENANT_ID}"
mailbox = sys.argv[1] if len(sys.argv) > 1 else "vladimir.buzalka@buzalka.cz"
BASE=f"https://graph.microsoft.com/v1.0/users/{mailbox}"
app=msal.ConfidentialClientApplication(CLIENT_ID,authority=AUTHORITY,client_credential=CLIENT_SECRET)
tok=app.acquire_token_for_client(scopes=["https://graph.microsoft.com/.default"])
H={"Authorization":f"Bearer {tok['access_token']}"}
# 1) nejnovějších 20 e-mailů (napříč schránkou)
r=requests.get(f"{BASE}/messages",headers=H,params={
"$top":20,"$orderby":"receivedDateTime desc",
"$select":"subject,from,receivedDateTime,categories"},timeout=30)
print(f"[{mailbox}] nejnovějších {len(r.json().get('value',[]))}:")
for m in r.json().get("value",[]):
cats=m.get("categories") or []
frm=m.get("from",{}).get("emailAddress",{}).get("address","")
flag=" <<< KATEGORIE" if cats else ""
print(f" {m.get('receivedDateTime','')[:10]} | {frm:28.28} | {str(cats):28} | {m.get('subject','')[:50]}{flag}")
# 2) cokoliv s kategorií obsahující KPC/Claude (zkus víc názvů)
print("\nHledám kategorie ~ KPC/Claude:")
for cat in ["ForKPCGeneration","KPCzpracovánoClaudem","KPC","ForKPC","Claude","Pro Tebe","ProClaude"]:
rr=requests.get(f"{BASE}/messages",headers=H,params={
"$filter":f"categories/any(c:c eq '{cat}')","$select":"subject","$top":5},timeout=30)
n=len(rr.json().get("value",[])) if rr.ok else f"ERR{rr.status_code}"
print(f" '{cat}': {n}")