From: Carl Worth Date: Tue, 29 Sep 2020 22:59:39 +0000 (-0700) Subject: Copy template sheets to newly-created spreadsheets X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=1c6ce153eddec43d88282bd15c65faee16b9d51c;p=turbot Copy template sheets to newly-created spreadsheets The TEMPLATE_SHEET_ID here is that of a spreadsheet in Trubot's account that is named "Template". --- diff --git a/turbot/sheets.py b/turbot/sheets.py index 3d52735..81dfec9 100644 --- a/turbot/sheets.py +++ b/turbot/sheets.py @@ -5,8 +5,8 @@ import os from googleapiclient.discovery import build -# If modifying these scopes, delete the file token.pickle. -SCOPES = ['https://www.googleapis.com/auth/spreadsheets'] +TEMPLATE_SHEET_ID = "1drSoyrE4gM3JaGweDkOybwXWdKPIDTfUmB1gQCYS3Uw" +TEMPLATE_SHEET_SHEETS = ["Text", "Grid"] turbot_deploy_dir = os.environ.get('TURBOT_DEPLOY_DIR', '.') TOKEN_FILE = "{}/.gsheets-token.pickle".format(turbot_deploy_dir) @@ -33,15 +33,30 @@ def sheets_create(name): return None service = build('sheets', 'v4', credentials=creds) + sheets = service.spreadsheets() - # Create a new sheet + # Create a new spreadsheet spreadsheet_body = { 'properties': { 'title': name } } - request = service.spreadsheets().create(body=spreadsheet_body) - response = request.execute() + new_sheet = sheets.create(body=spreadsheet_body).execute() + spreadsheet_url = new_sheet["spreadsheetUrl"] + spreadsheet_id = new_sheet["spreadsheetId"] - return response["spreadsheetUrl"] + # Copy some sheets from the Template spreadsheet + + response = sheets.get(spreadsheetId=TEMPLATE_SHEET_ID).execute() + + for sheet in response["sheets"]: + if sheet["properties"]["title"] in TEMPLATE_SHEET_SHEETS: + sheets.sheets().copyTo(spreadsheetId=TEMPLATE_SHEET_ID, + sheetId=sheet["properties"]["sheetId"], + body={ + "destinationSpreadsheetId": + spreadsheet_id + }).execute() + + return spreadsheet_url