# And update the puzzle's description
set_channel_topic(turb, puzzle)
+ # And rename the sheet to prefix with SOLVED -
+ turb.sheets.renameSheet(turb, puzzle['sheet_url'], 'SOLVED - ' + puzzle['name'])
+
return lambda_ok
commands["/solved"] = solved
}).execute()
return new_sheet
+
+def renameSheet(turb, url, newName):
+ id = extractIdFromSheetUrl(url)
+ turb.sheets.batchUpdate(id,
+ body={
+ "updateSheetProperties": {
+ "properties": {
+ "sheetId": id,
+ "title": newName
+ }
+ }}).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
+ startIndex = url.find('/d/') + 3
+ endIndex = url.find('/edit')
+ return url[startIndex : endIndex]
+
\ No newline at end of file