def on_put(req, resp, ticket_id): payload = json.loads(req.stream.read().decode('utf-8')) status_name = payload.get('status') with session() as db: repo = Repo(db) ticket = repo.list_ticket(int(ticket_id)) repo.change_ticket_status(ticket=ticket, status=Ticket.STATUSES[status_name]) resp.body = json.dumps({ 'id': ticket_id, 'status': status_name }, sort_keys=True, indent=4)