import re
def find_puzzle_for_sort_key(turb, hunt_id, sort_key):
- """Given a hunt_id and puzzle_id, return that puzzle
+ """Given a hunt_id and sort_key, return that puzzle
- Returns None if no puzzle with the given hunt_id and puzzle_id
+ Returns None if no puzzle with the given hunt_id and sort_key
exists in the database, otherwise a dictionary with all fields
from the puzzle's row in the database.
+
+ Note: The sort_key is a modified version of the puzzle_id, (used
+ to make metapuzzles appear in the ordering before non-metapuzzles).
+ If you've been handed a sort_key, then looking up a puzzle by
+ sort_key is the right thing to do. But if you instead have just
+ a puzzle_id, see find_puzzle_for_puzzle_id rather than trying
+ to convert the puzzle_id into a sort_key to use this function.
"""
response = turb.table.get_item(