aboutsummaryrefslogtreecommitdiff
path: root/api/social/search.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/social/search.py')
-rw-r--r--api/social/search.py34
1 files changed, 19 insertions, 15 deletions
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]