Skip to content

Commit

Permalink
⚠️ All if statements replaced with match case statements in .py files
Browse files Browse the repository at this point in the history
  • Loading branch information
DogukanUrker committed Jan 17, 2024
1 parent 4fb29cd commit 49c9036
Show file tree
Hide file tree
Showing 17 changed files with 565 additions and 496 deletions.
10 changes: 6 additions & 4 deletions routes/accountSettings.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@ def accountSettings():
[(session["userName"])],
)
user = cursor.fetchall()
if request.method == "POST":
if "userDeleteButton" in request.form:
deleteUser(user[0][0])
return redirect(f"/")
match request.method == "POST":
case True:
match "userDeleteButton" in request.form:
case True:
deleteUser(user[0][0])
return redirect(f"/")
return render_template("accountSettings.html", user=user)
case False:
return redirect("/login/redirect=&accountsettings")
8 changes: 5 additions & 3 deletions routes/adminPanelComments.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,11 @@ def adminPanelComments():
[(session["userName"])],
)
role = cursor.fetchone()[0]
if request.method == "POST":
if "commentDeleteButton" in request.form:
deleteComment(request.form["commentID"])
match request.method == "POST":
case True:
match "commentDeleteButton" in request.form:
case True:
deleteComment(request.form["commentID"])
return redirect(f"/admin/comments")
match role == "admin":
case True:
Expand Down
8 changes: 5 additions & 3 deletions routes/adminPanelPosts.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,11 @@ def adminPanelPosts():
[(session["userName"])],
)
role = cursor.fetchone()[0]
if request.method == "POST":
if "postDeleteButton" in request.form:
deletePost(request.form["postID"])
match request.method == "POST":
case True:
match "postDeleteButton" in request.form:
case True:
deletePost(request.form["postID"])
match role == "admin":
case True:
connection = sqlite3.connect(DB_POSTS_ROOT)
Expand Down
8 changes: 5 additions & 3 deletions routes/adminPanelUsers.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,11 @@ def adminPanelUsers():
[(session["userName"])],
)
role = cursor.fetchone()[0]
if request.method == "POST":
if "userDeleteButton" in request.form:
deleteUser(request.form["userName"])
match request.method == "POST":
case True:
match "userDeleteButton" in request.form:
case True:
deleteUser(request.form["userName"])
match role == "admin":
case True:
connection = sqlite3.connect(DB_USERS_ROOT)
Expand Down
74 changes: 41 additions & 33 deletions routes/changePassword.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,39 +20,47 @@ def changePassword():
match "userName" in session:
case True:
form = changePasswordForm(request.form)
if request.method == "POST":
oldPassword = request.form["oldPassword"]
password = request.form["password"]
passwordConfirm = request.form["passwordConfirm"]
connection = sqlite3.connect(DB_USERS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""select password from users where userName = ? """,
[(session["userName"])],
)
if sha256_crypt.verify(oldPassword, cursor.fetchone()[0]):
if oldPassword == password:
flash("new password can not be same with old password", "error")
elif password != passwordConfirm:
flash("passwords must match", "error")
elif oldPassword != password and password == passwordConfirm:
newPassword = sha256_crypt.hash(password)
connection = sqlite3.connect(DB_USERS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""update users set password = ? where userName = ? """,
[(newPassword), (session["userName"])],
)
connection.commit()
message(
"2", f'USER: "{session["userName"]}" CHANGED HIS PASSWORD'
)
session.clear()
flash("you need login with new password", "success")
return redirect("/login/redirect=&")
else:
flash("old password wrong", "error")

match request.method == "POST":
case True:
oldPassword = request.form["oldPassword"]
password = request.form["password"]
passwordConfirm = request.form["passwordConfirm"]
connection = sqlite3.connect(DB_USERS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""select password from users where userName = ? """,
[(session["userName"])],
)
match sha256_crypt.verify(oldPassword, cursor.fetchone()[0]):
case True:
match oldPassword == password:
case True:
flash(
"new password can not be same with old password",
"error",
)
match password != passwordConfirm:
case True:
flash("passwords must match", "error")
match oldPassword != password and password == passwordConfirm:
case True:
newPassword = sha256_crypt.hash(password)
connection = sqlite3.connect(DB_USERS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""update users set password = ? where userName = ? """,
[(newPassword), (session["userName"])],
)
connection.commit()
message(
"2",
f'USER: "{session["userName"]}" CHANGED HIS PASSWORD',
)
session.clear()
flash("you need login with new password", "success")
return redirect("/login/redirect=&")
case _:
flash("old is password wrong", "error")
return render_template("changePassword.html", form=form)
case False:
message("1", "USER NOT LOGGED IN")
Expand Down
33 changes: 17 additions & 16 deletions routes/changeProfilePicture.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,23 @@ def changeProfilePicture():
match "userName" in session:
case True:
form = changeProfilePictureForm(request.form)
if request.method == "POST":
newProfilePictureSeed = request.form["newProfilePictureSeed"]
newProfilePicture = f"https://api.dicebear.com/7.x/identicon/svg?seed={newProfilePictureSeed}&radius=10"
connection = sqlite3.connect(DB_USERS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""update users set profilePicture = ? where userName = ? """,
[(newProfilePicture), (session["userName"])],
)
connection.commit()
message(
"2",
f'USER: "{session["userName"]}" CHANGED HIS PROFILE PICTURE TO "{newProfilePicture}"',
)
flash("profile picture changed", "success")
return redirect(f"/changeprofilepicture")
match request.method == "POST":
case True:
newProfilePictureSeed = request.form["newProfilePictureSeed"]
newProfilePicture = f"https://api.dicebear.com/7.x/identicon/svg?seed={newProfilePictureSeed}&radius=10"
connection = sqlite3.connect(DB_USERS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""update users set profilePicture = ? where userName = ? """,
[(newProfilePicture), (session["userName"])],
)
connection.commit()
message(
"2",
f'USER: "{session["userName"]}" CHANGED HIS PROFILE PICTURE TO "{newProfilePicture}"',
)
flash("profile picture changed", "success")
return redirect(f"/changeprofilepicture")
return render_template("changeProfilePicture.html", form=form)
case False:
return redirect("/")
107 changes: 56 additions & 51 deletions routes/changeUserName.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,57 +21,62 @@ def changeUserName():
match "userName" in session:
case True:
form = changeUserNameForm(request.form)
if request.method == "POST":
newUserName = request.form["newUserName"]
newUserName = newUserName.replace(" ", "")
connection = sqlite3.connect(DB_USERS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""select userName from users where userName = ? """,
[(newUserName)],
)
userNameCheck = cursor.fetchone()
match newUserName.isascii():
case True:
match newUserName == session["userName"]:
case True:
flash("this is your username", "error")
case False:
match userNameCheck == None:
case True:
cursor.execute(
"""update users set userName = ? where userName = ? """,
[(newUserName), (session["userName"])],
)
connection.commit()
connection = sqlite3.connect(DB_POSTS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""update posts set Author = ? where author = ? """,
[(newUserName), (session["userName"])],
)
connection.commit()
connection = sqlite3.connect(DB_COMMENTS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""update comments set user = ? where user = ? """,
[(newUserName), (session["userName"])],
)
connection.commit()
message(
"2",
f'USER: "{session["userName"]}" CHANGED USER NAME TO "{newUserName}"',
)
session["userName"] = newUserName
flash("user name changed", "success")
return redirect(f"/user/{newUserName.lower()}")
case False:
flash(
"This username is already taken.", "error"
)
case False:
flash("username does not fit ascii charecters", "error")

match request.method == "POST":
case True:
newUserName = request.form["newUserName"]
newUserName = newUserName.replace(" ", "")
connection = sqlite3.connect(DB_USERS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""select userName from users where userName = ? """,
[(newUserName)],
)
userNameCheck = cursor.fetchone()
match newUserName.isascii():
case True:
match newUserName == session["userName"]:
case True:
flash("this is your username", "error")
case False:
match userNameCheck == None:
case True:
cursor.execute(
"""update users set userName = ? where userName = ? """,
[(newUserName), (session["userName"])],
)
connection.commit()
connection = sqlite3.connect(DB_POSTS_ROOT)
cursor = connection.cursor()
cursor.execute(
"""update posts set Author = ? where author = ? """,
[(newUserName), (session["userName"])],
)
connection.commit()
connection = sqlite3.connect(
DB_COMMENTS_ROOT
)
cursor = connection.cursor()
cursor.execute(
"""update comments set user = ? where user = ? """,
[(newUserName), (session["userName"])],
)
connection.commit()
message(
"2",
f'USER: "{session["userName"]}" CHANGED USER NAME TO "{newUserName}"',
)
session["userName"] = newUserName
flash("user name changed", "success")
return redirect(
f"/user/{newUserName.lower()}"
)
case False:
flash(
"This username is already taken.",
"error",
)
case False:
flash("username does not fit ascii charecters", "error")
return render_template("changeUserName.html", form=form)
case False:
return redirect("/")
69 changes: 35 additions & 34 deletions routes/createPost.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,40 +22,41 @@ def createPost():
match "userName" in session:
case True:
form = createPostForm(request.form)
if request.method == "POST":
postTitle = request.form["postTitle"]
postTags = request.form["postTags"]
postContent = request.form["postContent"]
match postContent == "":
case True:
flash("post content not be empty", "error")
message(
"1",
f'POST CONTENT NOT BE EMPTY USER: "{session["userName"]}"',
)
case False:
connection = sqlite3.connect(DB_POSTS_ROOT)
cursor = connection.cursor()
cursor.execute(
"insert into posts(title,tags,content,author,views,date,time,lastEditDate,lastEditTime) \
values(?, ?, ?, ?, ?, ?, ?, ?, ?)",
(
postTitle,
postTags,
postContent,
session["userName"],
0,
currentDate(),
currentTime(),
currentDate(),
currentTime(),
),
)
connection.commit()
message("2", f'POST: "{postTitle}" POSTED')
addPoints(20, session["userName"])
flash("You earned 20 points by posting ", "success")
return redirect("/")
match request.method == "POST":
case True:
postTitle = request.form["postTitle"]
postTags = request.form["postTags"]
postContent = request.form["postContent"]
match postContent == "":
case True:
flash("post content not be empty", "error")
message(
"1",
f'POST CONTENT NOT BE EMPTY USER: "{session["userName"]}"',
)
case False:
connection = sqlite3.connect(DB_POSTS_ROOT)
cursor = connection.cursor()
cursor.execute(
"insert into posts(title,tags,content,author,views,date,time,lastEditDate,lastEditTime) \
values(?, ?, ?, ?, ?, ?, ?, ?, ?)",
(
postTitle,
postTags,
postContent,
session["userName"],
0,
currentDate(),
currentTime(),
currentDate(),
currentTime(),
),
)
connection.commit()
message("2", f'POST: "{postTitle}" POSTED')
addPoints(20, session["userName"])
flash("You earned 20 points by posting ", "success")
return redirect("/")
return render_template("createPost.html", form=form)
case False:
message("1", "USER NOT LOGGED IN")
Expand Down
Loading

0 comments on commit 49c9036

Please sign in to comment.