Skip to content

Commit 50397f1

Browse files
authored
Sort search results to match query better (#97)
1 parent 97473fc commit 50397f1

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

src/app/coursegrab/dao/courses_dao.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,15 @@ def create_course(subject_code, course_num, title):
1919

2020

2121
def search_courses(query):
22-
return Course.query.filter(Course.search_string.ilike("%{}%".format(query))).limit(NUM_SEARCH_RESULT)
23-
22+
results = Course.query.filter(Course.search_string.ilike("%{}%".format(query))).limit(NUM_SEARCH_RESULT)
23+
results = sorted(results, key = lambda r : find_query_index(r, query))
24+
return results
25+
26+
def find_query_index(course, key):
27+
try:
28+
return course.search_string.lower().index(key)
29+
except(Error):
30+
return -1
2431

2532
def clear_table():
2633
Course.query.delete()

0 commit comments

Comments
 (0)