From c8a2d26a5da24d17fe894389a44eb0a5264a78dc Mon Sep 17 00:00:00 2001 From: Jonathan Date: Fri, 18 Jul 2025 10:24:33 +0000 Subject: [PATCH 1/2] me falta terminar de pulir el app.py --- src/app.py | 12 ++++++++++++ src/datastructures.py | 20 ++++++++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/app.py b/src/app.py index 2e510d3d..4c26e893 100755 --- a/src/app.py +++ b/src/app.py @@ -37,6 +37,18 @@ def handle_hello(): "family": members} return jsonify(response_body), 200 +@app.route('/members', methods=['POST']) +def add_new_member(): + request_body = request.json + print("incoming request with the following body", request_body) + members.append(dict(request_body)) + return jsonify(members) + +@app.route('/members/', methods=['DELETE']) +def delete_member(position): + print("This is the position to delete:", position) + del members[position] + return jsonify(members) # This only runs if `$ python src/app.py` is executed diff --git a/src/datastructures.py b/src/datastructures.py index ff8321b6..81a28839 100644 --- a/src/datastructures.py +++ b/src/datastructures.py @@ -5,6 +5,7 @@ - get_member: Should return a member from the self._members list """ + class FamilyStructure: def __init__(self, last_name): self.last_name = last_name @@ -26,18 +27,25 @@ def _generate_id(self): return generated_id def add_member(self, member): - ## You have to implement this method - ## Append the member to the list of _members + # You have to implement this method + # Append the member to the list of _members + self._members.append(member) pass def delete_member(self, id): - ## You have to implement this method - ## Loop the list and delete the member with the given id + # You have to implement this method + # Loop the list and delete the member with the given id + for member in self._members: + if member["id"] == id: + self._members.remove(member) pass def get_member(self, id): - ## You have to implement this method - ## Loop all the members and return the one with the given id + # You have to implement this method + # Loop all the members and return the one with the given id + for member in self._members: + if member["id"] == id: + return member pass # This method is done, it returns a list with all the family members From 7c2db34ffd78dfc989db5ea49e2514194143278a Mon Sep 17 00:00:00 2001 From: Jonathan Date: Mon, 21 Jul 2025 09:35:37 +0000 Subject: [PATCH 2/2] =?UTF-8?q?A=C3=B1ado=20toda=20la=20funcionalidad=20en?= =?UTF-8?q?tre=20app.py=20y=20datastructures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.py | 31 ++++++++++++++++++------------- src/datastructures.py | 2 ++ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/app.py b/src/app.py index 4c26e893..0d76327a 100755 --- a/src/app.py +++ b/src/app.py @@ -30,25 +30,30 @@ def sitemap(): @app.route('/members', methods=['GET']) -def handle_hello(): +def get_all_members(): # This is how you can use the Family datastructure by calling its methods members = jackson_family.get_all_members() - response_body = {"hello": "world", - "family": members} - return jsonify(response_body), 200 + return jsonify(members), 200 + +@app.route('/members/', methods=['GET']) +def get_single_member(member_id): + member = jackson_family.get_member(member_id) + return jsonify(member), 200 @app.route('/members', methods=['POST']) def add_new_member(): request_body = request.json - print("incoming request with the following body", request_body) - members.append(dict(request_body)) - return jsonify(members) - -@app.route('/members/', methods=['DELETE']) -def delete_member(position): - print("This is the position to delete:", position) - del members[position] - return jsonify(members) + jackson_family.add_member(request_body) + print(request_body) + return jsonify({"msg": "member added"}), 200 + +@app.route('/members/', methods=['DELETE']) +def delete_member(member_id): + jackson_family.delete_member(member_id) + return jsonify({"msg": "member has been deleted"}), 200 + + + # This only runs if `$ python src/app.py` is executed diff --git a/src/datastructures.py b/src/datastructures.py index 81a28839..c3ee793d 100644 --- a/src/datastructures.py +++ b/src/datastructures.py @@ -29,6 +29,8 @@ def _generate_id(self): def add_member(self, member): # You have to implement this method # Append the member to the list of _members + member["id"] = self._generate_id() + member["last_name"] = self.last_name self._members.append(member) pass