in genai-for-marketing/backend_apis/app/utils_workspace.py [0:0]
def merge_slides(
credentials,
presentation_id: str,
spreadsheet_id: str,
spreadsheet_template_id: str,
slide_page_id_list: list):
emu4m = {
'magnitude': 4000000,
'unit': 'EMU'
}
sheets_service = build('sheets', 'v4', credentials=credentials)
slides_service = build('slides', 'v1', credentials=credentials)
sheet_chart_id_list = get_chart_id(sheets_service,
spreadsheet_template_id)
today = date.today()
requests = [
{
'replaceAllText': {
'containsText': {
'text': '{{date}}',
'matchCase': True
},
'replaceText': str(today)
}
}
]
for chart_id,page_id in zip(sheet_chart_id_list , slide_page_id_list):
presentation_chart_id = str(uuid.uuid4())
requests.append({
'createSheetsChart': {
'objectId': presentation_chart_id,
'spreadsheetId': spreadsheet_id,
'chartId': chart_id,
'linkingMode': 'LINKED',
'elementProperties': {
'pageObjectId': page_id,
'size': {
'height': emu4m,
'width': emu4m
},
'transform': {
'scaleX': 1,
'scaleY': 1,
'translateX': 100000,
'translateY': 100000,
'unit': 'EMU'
}
}
}
})
body = {
'requests': requests
}
slides_service.presentations().batchUpdate(
presentationId=presentation_id, body=body).execute(num_retries=20)