from google.oauth2.credentials import Credentials from googleapiclient.discovery import build import json cal_id = "fd0c7cf8ec9fc8fc1d8a9811c439717f6246e2e53ee9fe2046c720b29242fc4e@group.calendar.google.com" token_file = "/root/.hermes/google_token.json" with open(token_file) as f: token_data = json.load(f) service = build("calendar", "v3", credentials=Credentials.from_authorized_user_info(token_data)) # 1. Update 18/11 review session: 13:30 - 15:00 review_update = { "summary": "[PA] Macro: Ôn tập Phần I và Phần II", "colorId": "5", "start": {"dateTime": "2026-11-18T13:30:00+07:00"}, "end": {"dateTime": "2026-11-18T15:00:00+07:00"}, "location": "FSPPM, Fulbright University Vietnam", "description": "Ca 1: Ôn tập Phần I và Phần II môn Kinh tế học vĩ mô.\nThời gian: 13:30 đến 15:00.\nHình thức: Trực tiếp tại trường (Fulbright).\nGiảng viên: Đỗ Thiên Anh Tuấn và Lê Hồng Giang." } service.events().patch(calendarId=cal_id, eventId="lc7v7caccio43unjpinik26ob8", body=review_update).execute() print("✓ Updated review session on 18/11") # 2. Insert dedicated Exam event for Midterm Exam: 15:30 - 17:00 (Color ID 11 - Tomato) exam_event = { "summary": "[EXAM] Macro: Kiểm tra giữa kỳ (15:30)", "colorId": "11", "start": {"dateTime": "2026-11-18T15:30:00+07:00"}, "end": {"dateTime": "2026-11-18T17:00:00+07:00"}, "location": "FSPPM, Fulbright University Vietnam", "description": "Bài kiểm tra giữa kỳ môn Kinh tế học vĩ mô (Midterm Exam).\nThời gian: 15:30 đến 17:00 ngày 18/11/2026.\nHình thức: Làm bài trực tiếp tại lớp.\nTrọng số: Chiếm 20% tổng điểm môn học.\nNội dung kiểm tra: Tổng quan kinh tế vĩ mô (Phần I) và Nền kinh tế trong ngắn hạn (Phần II)." } res_exam = service.events().insert(calendarId=cal_id, body=exam_event).execute() print(f"✓ Created Midterm Exam event: {res_exam.get('id')}") # 3. Update [REMINDER] -> [RM] reminders_to_update = [ ("t2gd74a9tg0s15qq31dhethts4", "[RM] Macro: Nhận Bài tập 1 (Hạn nộp 15/11 08:20)"), ("inp4pdhr0u5b4tf5e0ua4ok7gc", "[RM] Macro: Nhận Bài tập 2 (Hạn nộp 17/11 08:20)"), ("lah4kboknegia3h2i45i0n6grk", "[RM] Macro: Nhận Bài tập 3 (Hạn nộp 22/11 08:20)"), ("pig7oq48rarrbg1971ke3tda8o", "[RM] Macro: Nhận Bài tập 4 (Hạn nộp 29/11 08:20)") ] for eid, new_title in reminders_to_update: service.events().patch(calendarId=cal_id, eventId=eid, body={"summary": new_title}).execute() print(f"✓ Updated reminder title: {new_title}") print("\nSuccessfully updated exam and reminder prefixes!")