]> git.cworth.org Git - turbot/blobdiff - turbot/sheets.py
Add some links to the puzzle sheet when originally creating it
[turbot] / turbot / sheets.py
index f2a9681f7c7483593d6cfad973076dadf802c61e..fbe9e3d7839d2e52a64d43f471a444efa1869fe3 100644 (file)
@@ -27,13 +27,38 @@ def sheets_create(turb, name):
         'url': new_sheet["spreadsheetUrl"]
     }
 
-def sheets_create_for_puzzle(turb, name):
+def sheets_create_for_puzzle(turb, puzzle):
     """Creates a new sheet for a puzzle of the given name
 
-    Like sheets_create(), but also copies the puzzle template sheet."""
+    Like sheets_create(), but also copies the puzzle template sheet.
+
+    Here, 'puzzle' is a dict that must have a 'name' key and may optionally
+    have a 'channel_url' or 'url' key."""
 
     # First create the new sheet
-    new_sheet = sheets_create(turb, name)
+    new_sheet = sheets_create(turb, puzzle['name'])
+
+    # Insert some useful links into the sheet
+    if 'url' in puzzle:
+        url_text = "Original puzzle is at: {}".format(puzzle['url'])
+    else:
+        url_text = ''
+
+    if 'channel_url' in puzzle:
+        channel_url_text = "Discussion for this puzzle is at: {}".format(
+            puzzle['channel_url'])
+    else:
+        channel_url_text = ''
+
+    turb.sheets.values().append(
+        spreadsheetId=new_sheet['id'],
+        range='A1:A2',
+        valueInputOption='USER_ENTERED',
+        insertDataOption='INSERT_ROWS',
+        body={
+            'range': 'A1:A2',
+            'values': [[url_text], [channel_url_text]]
+        }).execute()
 
     # Copy some sheets from the Template spreadsheet