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.
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
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": {
- "sheetId": 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