def get_user_by_email(self, email: str) -> User: sql = "SELECT * FROM users WHERE email = %s" val = (email, ) self.cursor.execute(sql, val) resultset = self.cursor.fetchall() if self.cursor.rowcount > 0: user = User( username=resultset[0][1], password_hash=resultset[0][2], email=resultset[0][3], ) user._id = resultset[0] return user return
def _load_users(self): if not os.path.exists(self._user_filepath): return with open(self._user_filepath, "r") as infile: data: List[dict] = None try: data = json.load(infile) except Exception as err: print("user.dat: File was Empty") return for d in data: user = User( username=d["_username"], email=d["_email"], password_hash=d["_password_hash"], ) user._id = d["_id"] user.follows = d["follows"] if user._id > self._accumulate_user_id: self._accumulate_user_id = user._id self._users.append(user) print("user.dat: File Loaded")
def create_user(self, user: User) -> User: self._accumulate_user_id += 1 user._id = self._accumulate_user_id self._users.append(user) self._save_users() return user