def add_character(): # recibir info del request request_body = request.get_json() print(request_body) new_character = Character(name=request_body["name"], birth_year=request_body["birth_year"], height=request_body["height"], mass=request_body["mass"], hair_color=request_body["hair_color"], eye_color=request_body["eye_color"], gender=request_body["gender"], planet_id=request_body["planet_id"]) db.session.add(new_character) db.session.commit() return jsonify("All good, added: ", new_character.serialize()), 200
def characters(id=None): if request.method == 'GET': if id is not None: character = Character.query.get(id) if not character: return jsonify({"fail": "Character not found"}), 404 return jsonify({ "success": "Character found", "character": character.serialize() }), 200 else: characters = Character.query.all() characters = list(map(lambda character: character.serialize(), characters)) return jsonify({ "total": len(characters), "results": characters }), 200 if request.method == 'POST': name = request.json.get('name') gender = request.json.get('gender') hair_color = request.json.get('hair_color') eye_color = request.json.get('eye_color') height = request.json.get('height') skin_color = request.json.get('skin_color') birth_year = request.json.get('birth_year') character = Character() character.name = name character.gender = gender character.hair_color = hair_color character.eye_color = eye_color character.height = height character.skin_color = skin_color character.birth_year = birth_year character.save() return jsonify({ "success": "character created!", "character": character.serialize() }), 201 if request.method == 'PUT': pass if request.method == 'DELETE': character = Character.query.get(id) if not character: return jsonify({"fail": "character not found"}), 404 character.delete() return jsonify({"success": "character deleted"}), 200
def process_new_character_form(): """Add new character to database.""" form = AddCharacterForm() if form.validate_on_submit(): stats = form.stats.data prof = form.proficiencies.data statuses = form.statuses.data lang = form.languages.data hires = form.hirelings.data pets = form.pets_minions.data new_stats = stats.replace(",", "<br>") new_prof = prof.replace(",", "<br>") new_statuses = statuses.replace(",", "<br>") new_lang = lang.replace(",", "<br>") new_hires = hires.replace(",", "<br>") new_pets = pets.replace(",", "<br>") new_char = Character(name=form.name.data, portrait_url=form.portrait_url.data, icon=form.icon.data, class_name=form.class_name.data, race=form.race.data, level=form.level.data, stats=new_stats, alignment=form.alignment.data, proficiencies=new_prof, statuses=new_statuses, age=form.age.data, backstory=form.backstory.data, languages=new_lang, notes=form.notes.data, hirelings=new_hires, pets_minions=new_pets, user_id=g.user.id) db.session.add(new_char) db.session.commit() serial_char = new_char.serialize() return (jsonify(serial_char), 200) errors = {"errors": form.errors} return jsonify(errors)