Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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)