X-Git-Url: https://git.cworth.org/git?p=turbot;a=blobdiff_plain;f=turbot%2Fsheets.py;h=ff8b1423f3385c8bdb700ccbbbb14aa3c7c5d7a5;hp=434665ef448cd21b4b74e1b90e7d2843c7202acf;hb=ee51d944119832b3272bf0bbd330066d6dd5d658;hpb=791111d99a90c595a7f215dfef29dc25e9358db8 diff --git a/turbot/sheets.py b/turbot/sheets.py index 434665e..ff8b142 100644 --- a/turbot/sheets.py +++ b/turbot/sheets.py @@ -1,5 +1,6 @@ PUZZLE_TEMPLATE_ID = "1drSoyrE4gM3JaGweDkOybwXWdKPIDTfUmB1gQCYS3Uw" -PUZZLE_TEMPLATE_SHEETS = ["Text", "Grid"] +PUZZLE_TEMPLATE_SHEETS = ["Text", "Square grid", "Hex Grid", + "Formula reference: indexing"] def sheets_create(turb, name): """Create a new sheet with the given name. @@ -61,7 +62,10 @@ def sheets_create_for_puzzle(turb, puzzle): insertDataOption='INSERT_ROWS', body={ 'range': 'A1:A2', - 'values': [['=HYPERLINK("'+url_link+'","'+url_text+'")'], ['=HYPERLINK("'+channel_url_link+'","'+channel_url_text+'")']] + 'values': [ + ['=HYPERLINK("'+url_link+'","'+url_text+'")'], + ['=HYPERLINK("'+channel_url_link+'","'+channel_url_text+'")'] + ] }).execute() # Copy some sheets from the Template spreadsheet @@ -70,28 +74,58 @@ def sheets_create_for_puzzle(turb, puzzle): for sheet in response["sheets"]: if sheet["properties"]["title"] in PUZZLE_TEMPLATE_SHEETS: - turb.sheets.sheets().copyTo(spreadsheetId=PUZZLE_TEMPLATE_ID, - sheetId=sheet["properties"]["sheetId"], - body={ - "destinationSpreadsheetId": - new_sheet['id'] - }).execute() + res = turb.sheets.sheets().copyTo( + spreadsheetId=PUZZLE_TEMPLATE_ID, + sheetId=sheet["properties"]["sheetId"], + body={ + "destinationSpreadsheetId": new_sheet['id'] + }).execute() + rename_sheet(turb, new_sheet['id'], res['sheetId'], + sheet["properties"]["title"]) return new_sheet -def renameSheet(turb, url, newName): +def rename_sheet(turb, spreadsheet_id, sheet_id, name): + + body = { + 'requests': [{ + 'updateSheetProperties': { + 'properties': { + 'sheetId': sheet_id, + 'title': name + }, + 'fields': 'title' + } + }] + } + + turb.sheets.batchUpdate(spreadsheetId=spreadsheet_id, + body=body + ).execute() + +def rename_spreadsheet(turb, url, newName): id = extractIdFromSheetUrl(url) - turb.sheets.batchUpdate(body={ - "updateSheetProperties": { - "properties": { - "spreadsheetId": id, - "title": newName - } - }}).execute() + requests = [] + requests.append({ + 'updateSpreadsheetProperties': { + 'properties': { + 'title': newName + }, + 'fields': 'title' + } + }) + + body = { + 'requests': requests + } + + turb.sheets.batchUpdate(spreadsheetId = id, + body=body + ).execute() def extractIdFromSheetUrl(url): - # Google sheet ids are between the /d/ and /edit in the url, like https://docs.google.com/spreadsheets/d/1dxHBzjenjhCAJQ8lM0skJO2mxlup8aWZm0-LaXeVPrg/edit#gid=0 + # Google sheet ids are between the /d/ and /edit in the url, like + # https://docs.google.com/spreadsheets/d/1dxHBzjen...-LaXeVPrg/edit#gid=0 startIndex = url.find('/d/') + 3 endIndex = url.find('/edit') return url[startIndex : endIndex] - \ No newline at end of file