from boto3.dynamodb.conditions import Key
import re
+def find_puzzle_for_puzzle_id(turb, hunt_id, puzzle_id):
+ """Given a hunt_id and puzzle_id, return that puzzle
+
+ Returns None if no puzzle with the given hunt_id and puzzle_id
+ exists in the database, otherwise a dictionary with all fields
+ from the puzzle's row in the database.
+ """
+
+ response = turb.table.get_item(
+ Key={
+ 'hunt_id': hunt_id,
+ 'SK': 'puzzle-{}'.format(puzzle_id)
+ })
+
+ if 'Item' in response:
+ return response['Item']
+ else:
+ return None
+
def find_puzzle_for_url(turb, hunt_id, url):
"""Given a hunt_id and URL, return the puzzle with that URL