X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=turbot%2Fsheets.py;fp=turbot%2Fsheets.py;h=56adef6cf8a7433ef6614b99b1fb285ba06e15af;hb=5f54f1ee53b8ae1b9d93df3f56c6a992f1d1bf0a;hp=831998d6f52c581c71b21d3b3daf67c475003d78;hpb=c267061f2ba8826b35bb3f0a467b7585838fccf0;p=turbot diff --git a/turbot/sheets.py b/turbot/sheets.py index 831998d..56adef6 100644 --- a/turbot/sheets.py +++ b/turbot/sheets.py @@ -48,33 +48,7 @@ def sheets_create(turb, name, folder_id): 'url': url } -def create_spreadsheet(turb, name): - """ - Returns the request's dict which has at least the following keys: - - ['spreadsheetId']: ID for this spreadsheet - ['spreadsheetUrl']: URL of this spreadsheet - ['sheets'][0]['properties']['sheetId']: ID of first sheet inside - """ - - # Create a new spreadsheet - spreadsheet_body = { - 'properties': { - 'title': name - } - } - - spreadsheet = turb.sheets.create(body=spreadsheet_body).execute() - - # Now that we've created a new spreadsheet, we need to also allow - # anyone with the link to the sheet to be able to edit it. - turb.permissions.create(fileId=spreadsheet["spreadsheetId"], - body={'type': 'anyone', 'role': 'writer'}, - fields='id').execute() - - return spreadsheet - -def sheets_create_for_puzzle(turb, puzzle): +def sheets_create_for_puzzle(turb, puzzle, folder_id): """Creates a new sheet for a puzzle of the given name Like sheets_create(), but also copies the puzzle template sheet. @@ -84,11 +58,16 @@ def sheets_create_for_puzzle(turb, puzzle): """ # First create the new spreadsheet - spreadsheet = create_spreadsheet(turb, puzzle['name']) - spreadsheet_id = spreadsheet['spreadsheetId'] + spreadsheet = sheets_create(turb, puzzle['name'], folder_id) + spreadsheet_id = spreadsheet['id'] + spreadsheet_url = spreadsheet['url'] - # Then, copy some useful sheets over from the Template spreadsheet + # And fetch the individual "sheets" from the spreadsheet + spreadsheet = turb.sheets.get(spreadsheetId=spreadsheet_id, + fields='sheets').execute() + first_sheet_id = spreadsheet['sheets'][0]['properties']['sheetId'] + # Then, copy some useful sheets over from the Template spreadsheet response = turb.sheets.get(spreadsheetId=PUZZLE_TEMPLATE_ID).execute() for sheet in response["sheets"]: @@ -106,9 +85,8 @@ def sheets_create_for_puzzle(turb, puzzle): sheet_name = puzzle['name'] rename_sheet(turb, spreadsheet_id, res['sheetId'], sheet_name) - # Next, delete the blank sheet that's was created before the template - sheet_id = spreadsheet['sheets'][0]['properties']['sheetId'] - delete_sheet(turb, spreadsheet_id, sheet_id) + # Next, delete the blank sheet made at spreadsheet creation time + delete_sheet(turb, spreadsheet_id, first_sheet_id) # Insert some useful links into the sheet where expected if 'url' in puzzle: @@ -127,7 +105,7 @@ def sheets_create_for_puzzle(turb, puzzle): return { 'id': spreadsheet_id, - 'url': spreadsheet['spreadsheetUrl'] + 'url': spreadsheet_url } def spreadsheet_insert_data(turb, spreadsheet_id, range, text):