X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=turbot%2Finteraction.py;h=75ff299bc6a5df9edd8feaaab4aff01029a12531;hb=465eb019a7e380590df492762b9c904ece977069;hp=4a36b71b9e074eead82ce4fbb1fbd51643825e5a;hpb=d1b27a68132b9e9a6e5b6ca0aaea1d4de222496a;p=turbot diff --git a/turbot/interaction.py b/turbot/interaction.py index 4a36b71..75ff299 100644 --- a/turbot/interaction.py +++ b/turbot/interaction.py @@ -187,9 +187,9 @@ def edit_puzzle(turb, puzzle, trigger_id): solved = True solution_str = None - solution_list = puzzle.get("solution", []) - if solution_list: - solution_str = ", ".join(solution_list) + solution_set = puzzle.get("solution", set()) + if solution_set: + solution_str = ", ".join(solution_set) view = { "type": "modal", @@ -267,10 +267,11 @@ def edit_puzzle_submission(turb, payload, metadata): puzzle['type'] = 'meta' else: puzzle['type'] = 'plain' - rounds = [option['value'] for option in - state['rounds']['rounds']['selected_options']] - if rounds: - puzzle['rounds'] = rounds + if 'rounds' in state: + rounds = [option['value'] for option in + state['rounds']['rounds']['selected_options']] + if rounds: + puzzle['rounds'] = rounds new_rounds = state['new_rounds']['new_rounds']['value'] puzzle_state = state['state']['state']['value'] if puzzle_state: @@ -279,12 +280,12 @@ def edit_puzzle_submission(turb, payload, metadata): puzzle['status'] = 'solved' else: puzzle['status'] = 'unsolved' - puzzle['solution'] = [] + puzzle['solution'] = set() solution = state['solution']['solution']['value'] if solution: - puzzle['solution'] = [ + puzzle['solution'] = { 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']: @@ -501,7 +502,6 @@ def new_hunt_command(turb, body): def new_hunt_button(turb, payload): """Handler for the action of user pressing the new_hunt button""" - print("In new_hunt_button with payload of: " + str(payload)) trigger_id = payload['trigger_id'] return new_hunt(turb, trigger_id) @@ -1044,7 +1044,7 @@ def new_puzzle_submission(turb, payload, metadata): if rounds: puzzle['rounds'] = rounds - puzzle['solution'] = [] + puzzle['solution'] = set() puzzle['status'] = 'unsolved' # Create a channel for the puzzle @@ -1184,7 +1184,7 @@ def solved(turb, body, args): # Set the status and solution fields in the database puzzle['status'] = 'solved' - puzzle['solution'].append(args) + puzzle['solution'].add(args) if 'state' in puzzle: del puzzle['state'] turb.table.put_item(Item=puzzle)