#!/usr/bin/env python3
"""Check Google Calendar via service account with domain-wide delegation."""
import sys
import datetime
from google.oauth2 import service_account
from googleapiclient.discovery import build

SA_FILE = '/Users/harvey/.openclaw/secrets/google-calendar-sa.json'
SCOPES = ['https://www.googleapis.com/auth/calendar']
DELEGATE_EMAIL = sys.argv[1] if len(sys.argv) > 1 else 'mike@nomorechores.com'
DAYS = int(sys.argv[2]) if len(sys.argv) > 2 else 2

creds = service_account.Credentials.from_service_account_file(SA_FILE, scopes=SCOPES)
delegated = creds.with_subject(DELEGATE_EMAIL)
service = build('calendar', 'v3', credentials=delegated)

now = datetime.datetime.now(datetime.UTC).isoformat()
end = (datetime.datetime.now(datetime.UTC) + datetime.timedelta(days=DAYS)).isoformat()

events = service.events().list(
    calendarId='primary', timeMin=now, timeMax=end,
    maxResults=30, singleEvents=True, orderBy='startTime'
).execute()

items = events.get('items', [])
if not items:
    print('No upcoming events.')
else:
    for e in items:
        start = e['start'].get('dateTime', e['start'].get('date'))
        print(f"{start}  {e.get('summary', '(no title)')}")
