def POST(self): form_input = get_input() username, password = get_credentials() nest = Nest(username, password) try: nest.login() except HTTPError: raise web.seeother(get_path('/logout')) for button_name, button_value in form_input.items(): button_parts = button_name.split(':') action = button_parts[0] structure_id = button_parts[1] device_id = button_parts[2] if len(button_parts) > 2 else None if action == 'homeaway': nest.toggle_away(structure_id=structure_id) elif action == 'fan_toggle': nest.toggle_fan(structure_id=structure_id, device_id=device_id) elif 'target' in action: delta = 0.5 if button_value == '-': delta *= -1 nest.change_temperature(structure_id, device_id, delta=delta, target_type=action) raise web.seeother(get_path('/'))