import os
import sys
from google.oauth2 import service_account
from googleapiclient.discovery import build

SERVICE_ACCOUNT_FILE = '/home/openclaw/.openclaw/workspace/google_service_account.json'
DOCUMENT_ID = '1_50QyiXQYy4BEgOObNgPYIZiyoD-yEsOMYasXap-5EQ'
SCOPES = ['https://www.googleapis.com/auth/documents']

def append_text_file_to_doc(file_path):
    creds = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES)
    service = build('docs', 'v1', credentials=creds)

    with open(file_path, 'r', encoding='utf-8') as f:
        text = f.read()

    doc = service.documents().get(documentId=DOCUMENT_ID).execute()
    end_index = doc.get('body').get('content')[-1].get('endIndex') - 1

    requests = [
        {
            'insertText': {
                'location': {
                    'index': end_index,
                },
                'text': text
            }
        }
    ]

    service.documents().batchUpdate(
        documentId=DOCUMENT_ID, body={'requests': requests}).execute()

if __name__ == '__main__':
    if len(sys.argv) > 1:
        append_text_file_to_doc(sys.argv[1])
        print("Success")
    else:
        print("No file path provided")
