summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
465eb01)
The put_item call was not happy receiving a set object. So, instead of using
one, we use a lits and just take care to not add any duplicates to the list.
solved = True
solution_str = None
solved = True
solution_str = None
- solution_set = puzzle.get("solution", set())
- if solution_set:
- solution_str = ", ".join(solution_set)
+ solution_list = puzzle.get("solution", ())
+ if solution_list:
+ solution_str = ", ".join(solution_list)
view = {
"type": "modal",
view = {
"type": "modal",
puzzle['status'] = 'solved'
else:
puzzle['status'] = 'unsolved'
puzzle['status'] = 'solved'
else:
puzzle['status'] = 'unsolved'
- puzzle['solution'] = set()
+ puzzle['solution'] = ()
solution = state['solution']['solution']['value']
if solution:
solution = state['solution']['solution']['value']
if solution:
+ # Construct a list from a set to avoid any duplicates
+ puzzle['solution'] = list({
sol.strip() for sol in solution.split(',')
sol.strip() for sol in solution.split(',')
# Verify that there's a solution if the puzzle is mark solved
if puzzle['status'] == 'solved' and not puzzle['solution']:
# Verify that there's a solution if the puzzle is mark solved
if puzzle['status'] == 'solved' and not puzzle['solution']:
if rounds:
puzzle['rounds'] = rounds
if rounds:
puzzle['rounds'] = rounds
- puzzle['solution'] = set()
+ puzzle['solution'] = ()
puzzle['status'] = 'unsolved'
# Create a channel for the puzzle
puzzle['status'] = 'unsolved'
# Create a channel for the puzzle
# Set the status and solution fields in the database
puzzle['status'] = 'solved'
# Set the status and solution fields in the database
puzzle['status'] = 'solved'
- puzzle['solution'].add(args)
+
+ # Don't append a duplicate solution
+ if args not in puzzle['solution']:
+ puzzle['solution'].append(args)
if 'state' in puzzle:
del puzzle['state']
turb.table.put_item(Item=puzzle)
if 'state' in puzzle:
del puzzle['state']
turb.table.put_item(Item=puzzle)