diff options
author | lonkaars <l.leblansch@gmail.com> | 2021-04-11 17:50:58 +0200 |
---|---|---|
committer | lonkaars <l.leblansch@gmail.com> | 2021-04-11 17:50:58 +0200 |
commit | 28f104de9ae9abe4b42abafbf3865ede5687996c (patch) | |
tree | 65e651f09d8fbf81380384692e45803cb4f9d61c /api/social | |
parent | 7b4859059b3bbabf4139ccdf3270a82c094f5d8e (diff) |
dprint yapf python formatting
Diffstat (limited to 'api/social')
-rw-r--r-- | api/social/create_relation.py | 78 | ||||
-rw-r--r-- | api/social/destroy_relation.py | 32 | ||||
-rw-r--r-- | api/social/friend_accept.py | 19 | ||||
-rw-r--r-- | api/social/request_list.py | 21 | ||||
-rw-r--r-- | api/social/search.py | 34 |
5 files changed, 102 insertions, 82 deletions
diff --git a/api/social/create_relation.py b/api/social/create_relation.py index 7e7c466..f58e105 100644 --- a/api/social/create_relation.py +++ b/api/social/create_relation.py @@ -4,56 +4,66 @@ from hierarchy import auth_required from socket_io import io import time + # @two_person_endpoint decorator # defines (user_1_id, user_2_id) in endpoint handler function arguments def two_person_endpoint(func): - @auth_required("user") - def wrapper(user_1_id): - data = request.get_json() - user_2_id = data.get("id") or "" + @auth_required("user") + def wrapper(user_1_id): + data = request.get_json() + user_2_id = data.get("id") or "" + + if not user_1_id or \ + not user_2_id: + return "", 403 + + return func(user_1_id, user_2_id) - if not user_1_id or \ - not user_2_id: - return "", 403 + wrapper.__name__ = func.__name__ + return wrapper - return func(user_1_id, user_2_id) - wrapper.__name__ = func.__name__ - return wrapper def create_relation(user_1_id, user_2_id, relation_type): - remove_relation(user_1_id, user_2_id) - remove_relation(user_2_id, user_1_id) - timestamp = int( time.time() * 1000 ) - cursor.execute("insert into social values (?, ?, ?, ?)", - [user_1_id, user_2_id, relation_type, timestamp]) - connection.commit() + remove_relation(user_1_id, user_2_id) + remove_relation(user_2_id, user_1_id) + timestamp = int(time.time() * 1000) + cursor.execute( + "insert into social values (?, ?, ?, ?)", + [user_1_id, user_2_id, relation_type, timestamp] + ) + connection.commit() + # remove relation between user_1_id and user_2_id (one-way) def remove_relation(user_1_id, user_2_id): - cursor.execute("delete from social where user_1_id = ? and user_2_id = ?", - [user_1_id, user_2_id]) - connection.commit() + cursor.execute( + "delete from social where user_1_id = ? and user_2_id = ?", + [user_1_id, user_2_id] + ) + connection.commit() + def create_relation_route(relation_type): - @two_person_endpoint - def route(user_1_id, user_2_id): - create_relation(user_1_id, user_2_id, relation_type) + @two_person_endpoint + def route(user_1_id, user_2_id): + create_relation(user_1_id, user_2_id, relation_type) - if relation_type == "outgoing": - io.emit("incomingFriendRequest", room="user-"+user_2_id) + if relation_type == "outgoing": + io.emit("incomingFriendRequest", room="user-" + user_2_id) - return "", 200 - return route + return "", 200 -friend_request = Blueprint('friend_request', __name__) -friend_request.add_url_rule('/request', 'route', create_relation_route("outgoing"), methods = ["POST"]) + return route -block = Blueprint('block', __name__) -block.add_url_rule('/block', 'route', create_relation_route("block"), methods = ["POST"]) -dynamic_routes = [ - ["/social", friend_request], - ["/social", block] - ] +friend_request = Blueprint('friend_request', __name__) +friend_request.add_url_rule( + '/request', 'route', create_relation_route("outgoing"), methods=["POST"] +) +block = Blueprint('block', __name__) +block.add_url_rule( + '/block', 'route', create_relation_route("block"), methods=["POST"] +) +dynamic_routes = [["/social", friend_request], ["/social", block]] diff --git a/api/social/destroy_relation.py b/api/social/destroy_relation.py index 4b61ecd..ab72c48 100644 --- a/api/social/destroy_relation.py +++ b/api/social/destroy_relation.py @@ -7,32 +7,32 @@ import time remove = Blueprint('remove', __name__) -@remove.route('/remove', methods = ['POST']) + +@remove.route('/remove', methods=['POST']) @two_person_endpoint def index(user_1_id, user_2_id): - relation = get_relation_to(user_1_id, user_2_id) - if relation == "none": return "", 403 + relation = get_relation_to(user_1_id, user_2_id) + if relation == "none": return "", 403 + + remove_relation(user_1_id, user_2_id) + remove_relation(user_2_id, user_1_id) - remove_relation(user_1_id, user_2_id) - remove_relation(user_2_id, user_1_id) + io.emit("changedRelation", {"id": user_2_id}, room="user-" + user_1_id) + io.emit("changedRelation", {"id": user_1_id}, room="user-" + user_2_id) - io.emit("changedRelation", { "id": user_2_id }, room="user-"+user_1_id) - io.emit("changedRelation", { "id": user_1_id }, room="user-"+user_2_id) + return "", 200 - return "", 200 unblock = Blueprint('unblock', __name__) -@unblock.route('/unblock', methods = ['POST']) + +@unblock.route('/unblock', methods=['POST']) @two_person_endpoint def index(user_1_id, user_2_id): - if get_relation_to(user_1_id, user_2_id) != "blocked": return "", 403 + if get_relation_to(user_1_id, user_2_id) != "blocked": return "", 403 - remove_relation(user_1_id, user_2_id) - return "", 200 + remove_relation(user_1_id, user_2_id) + return "", 200 -dynamic_routes = [ - ["/social", remove], - ["/social", unblock] - ] +dynamic_routes = [["/social", remove], ["/social", unblock]] diff --git a/api/social/friend_accept.py b/api/social/friend_accept.py index 4f1f847..75dd3b9 100644 --- a/api/social/friend_accept.py +++ b/api/social/friend_accept.py @@ -6,17 +6,20 @@ import time accept = Blueprint('accept', __name__) -@accept.route("/accept", methods = ['POST']) + +@accept.route("/accept", methods=['POST']) @two_person_endpoint def route(user_1_id, user_2_id): - cursor.execute("update social set type = \"friendship\" where user_1_id = ? and user_2_id = ?", - [user_2_id, user_1_id]) - connection.commit() + cursor.execute( + "update social set type = \"friendship\" where user_1_id = ? and user_2_id = ?", + [user_2_id, user_1_id] + ) + connection.commit() - io.emit("changedRelation", { "id": user_2_id }, room="user-"+user_1_id) - io.emit("changedRelation", { "id": user_1_id }, room="user-"+user_2_id) + io.emit("changedRelation", {"id": user_2_id}, room="user-" + user_1_id) + io.emit("changedRelation", {"id": user_1_id}, room="user-" + user_2_id) - return "", 200 + return "", 200 -dynamic_route = ["/social", accept] +dynamic_route = ["/social", accept] diff --git a/api/social/request_list.py b/api/social/request_list.py index 624b3b4..8d1acd6 100644 --- a/api/social/request_list.py +++ b/api/social/request_list.py @@ -6,19 +6,22 @@ import time requests = Blueprint('requests', __name__) + @requests.route("/requests") @auth_required("user") def route(user_2_id): - # get a list of friend requests - request_list = cursor.execute("select user_1_id from social where user_2_id = ? and type = \"outgoing\"", - [user_2_id]).fetchall() + # get a list of friend requests + request_list = cursor.execute( + "select user_1_id from social where user_2_id = ? and type = \"outgoing\"", + [user_2_id] + ).fetchall() - # get user_id for each result to prevent repeat user/info requests - formatted_request_list = [] - for user_1_id in [q[0] for q in request_list]: - formatted_request_list.append(format_user(user_1_id)) + # get user_id for each result to prevent repeat user/info requests + formatted_request_list = [] + for user_1_id in [q[0] for q in request_list]: + formatted_request_list.append(format_user(user_1_id)) - return { "requests": formatted_request_list }, 200 + return {"requests": formatted_request_list}, 200 -dynamic_route = ["/social/list", requests] +dynamic_route = ["/social/list", requests] diff --git a/api/social/search.py b/api/social/search.py index 1159c67..a22ea73 100644 --- a/api/social/search.py +++ b/api/social/search.py @@ -5,25 +5,29 @@ import json search = Blueprint('search', __name__) -@search.route('/search', methods = ['POST']) + +@search.route('/search', methods=['POST']) def index(): - data_string = request.data or "{}" - data = json.loads(data_string) - query = data.get("query") or "" - if not query: return "", 400 - if len(query) < 3: return "", 403 + data_string = request.data or "{}" + data = json.loads(data_string) + query = data.get("query") or "" + if not query: return "", 400 + if len(query) < 3: return "", 403 - # use levenshtein with max distance 3 to search for users - #TODO: use mysql and sort by best match - results = cursor.execute("select user_id from users where levenshtein(lower(username), lower(?), 3)", [query]).fetchmany(20); + # use levenshtein with max distance 3 to search for users + #TODO: use mysql and sort by best match + results = cursor.execute( + "select user_id from users where levenshtein(lower(username), lower(?), 3)", + [query] + ).fetchmany(20) - formatted = { "results": [] } + formatted = {"results": []} - # get user_id for each result to prevent repeat user/info requests - for user in results: - formatted["results"].append(format_user(user[0])) + # get user_id for each result to prevent repeat user/info requests + for user in results: + formatted["results"].append(format_user(user[0])) - return formatted, 200 + return formatted, 200 -dynamic_route = ["/social", search] +dynamic_route = ["/social", search] |