From 40911690293935d4f8aedce6852d1ff84f238bb2 Mon Sep 17 00:00:00 2001 From: Aakanksha Agrawal Date: Tue, 25 May 2021 14:56:59 +0530 Subject: [PATCH 1/7] enhanced code of user.py with dict.get() --- app/api/dao/user.py | 83 +++++++++++---------------------------------- 1 file changed, 20 insertions(+), 63 deletions(-) diff --git a/app/api/dao/user.py b/app/api/dao/user.py index c38343917..124c7e703 100644 --- a/app/api/dao/user.py +++ b/app/api/dao/user.py @@ -39,11 +39,11 @@ def create_user(data: Dict[str, str]): A tuple with two elements. The first element is a dictionary containing a key 'message' containing a string which indicates whether or not the user was created successfully. The second is the HTTP response code. """ - name = data["name"] - username = data["username"] - password = data["password"] - email = data["email"] - terms_and_conditions_checked = data["terms_and_conditions_checked"] + name = data.get("name", None) + username = data.get("username", None) + password = data.get("password", None) + email = data.get("email", None) + terms_and_conditions_checked = data.get("terms_and_conditions_checked", None) existing_user = UserModel.find_by_username(data["username"]) if existing_user: @@ -61,10 +61,10 @@ def create_user(data: Dict[str, str]): user = UserModel(name, username, password, email, terms_and_conditions_checked) if "need_mentoring" in data: - user.need_mentoring = data["need_mentoring"] + user.need_mentoring = data.get("need_mentoring", None) if "available_to_mentor" in data: - user.available_to_mentor = data["available_to_mentor"] + user.available_to_mentor = data.get("available_to_mentor", None) user.save_to_db() @@ -238,74 +238,31 @@ def update_user_profile(user_id: int, data: Dict[str, str]): user.username = username - if "name" in data and data["name"]: - user.name = data["name"] + user.name = data.get("name", None) - if "bio" in data: - if data["bio"]: - user.bio = data["bio"] - else: - user.bio = None + user.bio = data.get("bio", None) - if "location" in data: - if data["location"]: - user.location = data["location"] - else: - user.location = None + user.location = data.get("location", None) - if "occupation" in data: - if data["occupation"]: - user.occupation = data["occupation"] - else: - user.occupation = None + user.occupation = data.get("occupation", None) or None - if "organization" in data: - if data["organization"]: - user.organization = data["organization"] - else: - user.organization = None + user.organization = data.get("organization", None) or None - if "slack_username" in data: - if data["slack_username"]: - user.slack_username = data["slack_username"] - else: - user.slack_username = None + user.slack_username = data.get("slack_username", None) - if "social_media_links" in data: - if data["social_media_links"]: - user.social_media_links = data["social_media_links"] - else: - user.social_media_links = None + user.social_media_links = data.get("social_media_links", None) - if "skills" in data: - if data["skills"]: - user.skills = data["skills"] - else: - user.skills = None + user.skills = data.get("skills", None) - if "interests" in data: - if data["interests"]: - user.interests = data["interests"] - else: - user.interests = None + user.interests = data.get("interests", None) - if "resume_url" in data: - if data["resume_url"]: - user.resume_url = data["resume_url"] - else: - user.resume_url = None + user.resume_url = data.get("resume_url", None) - if "photo_url" in data: - if data["photo_url"]: - user.photo_url = data["photo_url"] - else: - user.photo_url = None + user.photo_url = data.get("photo_url", None) - if "need_mentoring" in data: - user.need_mentoring = data["need_mentoring"] + user.need_mentoring = data.get("need_mentoring", None) - if "available_to_mentor" in data: - user.available_to_mentor = data["available_to_mentor"] + user.available_to_mentor = data.get("available_to_mentor", None) user.save_to_db() From ec66d785b5fe7aa7e45807e94af4e09c574e89d4 Mon Sep 17 00:00:00 2001 From: Aakanksha Agrawal Date: Sun, 20 Jun 2021 16:26:39 +0530 Subject: [PATCH 2/7] reformatted users.py with black --- app/api/dao/user.py | 1 - 1 file changed, 1 deletion(-) diff --git a/app/api/dao/user.py b/app/api/dao/user.py index 124c7e703..98f6031c9 100644 --- a/app/api/dao/user.py +++ b/app/api/dao/user.py @@ -235,7 +235,6 @@ def update_user_profile(user_id: int, data: Dict[str, str]): messages.USER_USES_A_USERNAME_THAT_ALREADY_EXISTS, HTTPStatus.BAD_REQUEST, ) - user.username = username user.name = data.get("name", None) From 29bf220b7b4a3aa6163778aab45b4579fc7345ef Mon Sep 17 00:00:00 2001 From: Aakanksha Agrawal Date: Mon, 21 Jun 2021 18:58:13 +0530 Subject: [PATCH 3/7] added sugesstions to users.py --- app/api/dao/user.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/api/dao/user.py b/app/api/dao/user.py index 98f6031c9..1d1006159 100644 --- a/app/api/dao/user.py +++ b/app/api/dao/user.py @@ -39,11 +39,11 @@ def create_user(data: Dict[str, str]): A tuple with two elements. The first element is a dictionary containing a key 'message' containing a string which indicates whether or not the user was created successfully. The second is the HTTP response code. """ - name = data.get("name", None) - username = data.get("username", None) - password = data.get("password", None) - email = data.get("email", None) - terms_and_conditions_checked = data.get("terms_and_conditions_checked", None) + name = data["name"] + username = data["username"] + password = data["password"] + email = data["email"] + terms_and_conditions_checked = data["terms_and_conditions_checked"] existing_user = UserModel.find_by_username(data["username"]) if existing_user: @@ -61,10 +61,10 @@ def create_user(data: Dict[str, str]): user = UserModel(name, username, password, email, terms_and_conditions_checked) if "need_mentoring" in data: - user.need_mentoring = data.get("need_mentoring", None) + user.need_mentoring = data["need_mentoring"] if "available_to_mentor" in data: - user.available_to_mentor = data.get("available_to_mentor", None) + user.available_to_mentor = data["available_to_mentor"] user.save_to_db() @@ -225,7 +225,7 @@ def update_user_profile(user_id: int, data: Dict[str, str]): if not user: return messages.USER_DOES_NOT_EXIST, HTTPStatus.NOT_FOUND - username = data.get("username", None) + username = data.get("username",None) if username: user_with_same_username = UserModel.find_by_username(username) @@ -237,7 +237,7 @@ def update_user_profile(user_id: int, data: Dict[str, str]): ) user.username = username - user.name = data.get("name", None) + user.name = data.get("name") user.bio = data.get("bio", None) From 747d85882d324c2a89a084fcd32d35bbf222827c Mon Sep 17 00:00:00 2001 From: Aakanksha Agrawal Date: Mon, 21 Jun 2021 19:06:22 +0530 Subject: [PATCH 4/7] reformatted with black --- app/api/dao/user.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/api/dao/user.py b/app/api/dao/user.py index 1d1006159..5d9acb1d0 100644 --- a/app/api/dao/user.py +++ b/app/api/dao/user.py @@ -225,7 +225,7 @@ def update_user_profile(user_id: int, data: Dict[str, str]): if not user: return messages.USER_DOES_NOT_EXIST, HTTPStatus.NOT_FOUND - username = data.get("username",None) + username = data.get("username", None) if username: user_with_same_username = UserModel.find_by_username(username) @@ -237,7 +237,7 @@ def update_user_profile(user_id: int, data: Dict[str, str]): ) user.username = username - user.name = data.get("name") + user.name = data["name"] user.bio = data.get("bio", None) From e706c0557faf09b57452ec68cefec925a26bb119 Mon Sep 17 00:00:00 2001 From: Aakanksha Agrawal Date: Mon, 21 Jun 2021 19:31:08 +0530 Subject: [PATCH 5/7] removed keyerror --- app/api/dao/user.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/api/dao/user.py b/app/api/dao/user.py index 5d9acb1d0..54605026f 100644 --- a/app/api/dao/user.py +++ b/app/api/dao/user.py @@ -237,7 +237,7 @@ def update_user_profile(user_id: int, data: Dict[str, str]): ) user.username = username - user.name = data["name"] + user.name = data.get("name", None) user.bio = data.get("bio", None) From b5e5781b82429dcfa9ad60cc016cdb38c5dd1ffc Mon Sep 17 00:00:00 2001 From: Aakanksha Agrawal Date: Sun, 25 Jul 2021 17:55:42 +0530 Subject: [PATCH 6/7] removed None as suggested --- app/api/dao/user.py | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/app/api/dao/user.py b/app/api/dao/user.py index 055d8f8e4..dc73158ad 100644 --- a/app/api/dao/user.py +++ b/app/api/dao/user.py @@ -5,7 +5,6 @@ from flask_restx import marshal from sqlalchemy import func - from app import messages from app.api.dao.mentorship_relation import MentorshipRelationDAO from app.api.email_utils import confirm_token @@ -226,7 +225,7 @@ def update_user_profile(user_id: int, data: Dict[str, str]): if not user: return messages.USER_DOES_NOT_EXIST, HTTPStatus.NOT_FOUND - username = data.get("username", None) + username = data.get("username") if username: user_with_same_username = UserModel.find_by_username(username) @@ -238,31 +237,31 @@ def update_user_profile(user_id: int, data: Dict[str, str]): ) user.username = username - user.name = data.get("name", None) + user.name = data.get("name") - user.bio = data.get("bio", None) + user.bio = data.get("bio") - user.location = data.get("location", None) + user.location = data.get("location") - user.occupation = data.get("occupation", None) or None + user.occupation = data.get("occupation") or None - user.organization = data.get("organization", None) or None + user.organization = data.get("organization") or None - user.slack_username = data.get("slack_username", None) + user.slack_username = data.get("slack_username") - user.social_media_links = data.get("social_media_links", None) + user.social_media_links = data.get("social_media_links") - user.skills = data.get("skills", None) + user.skills = data.get("skills") - user.interests = data.get("interests", None) + user.interests = data.get("interests") - user.resume_url = data.get("resume_url", None) + user.resume_url = data.get("resume_url") - user.photo_url = data.get("photo_url", None) + user.photo_url = data.get("photo_url") - user.need_mentoring = data.get("need_mentoring", None) + user.need_mentoring = data.get("need_mentoring") - user.available_to_mentor = data.get("available_to_mentor", None) + user.available_to_mentor = data.get("available_to_mentor") user.save_to_db() From 6f6df83b14e76fb128fce617f60e50ffa82f4863 Mon Sep 17 00:00:00 2001 From: Aakanksha Agrawal Date: Mon, 26 Jul 2021 20:55:21 +0530 Subject: [PATCH 7/7] edited tests and user.py --- app/api/dao/user.py | 4 ++-- tests/users/test_dao_update_user.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/api/dao/user.py b/app/api/dao/user.py index dc73158ad..653046f63 100644 --- a/app/api/dao/user.py +++ b/app/api/dao/user.py @@ -243,9 +243,9 @@ def update_user_profile(user_id: int, data: Dict[str, str]): user.location = data.get("location") - user.occupation = data.get("occupation") or None + user.occupation = data.get("occupation") - user.organization = data.get("organization") or None + user.organization = data.get("organization") user.slack_username = data.get("slack_username") diff --git a/tests/users/test_dao_update_user.py b/tests/users/test_dao_update_user.py index c9fd422e3..a89e6731b 100644 --- a/tests/users/test_dao_update_user.py +++ b/tests/users/test_dao_update_user.py @@ -27,7 +27,7 @@ def test_update_fields_with_empty_data(self): self.assertEqual("good_developer", self.admin_user.occupation) self.assertEqual("good_org", self.admin_user.organization) - data = dict(occupation="", organization="") + data = dict(occupation=None, organization=None) UserDAO.update_user_profile(self.admin_user.id, data) self.assertIsNone(self.admin_user.occupation)