Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -28,37 +28,40 @@ def checkPaper(publication_name):
|
|
28 |
"as_sitesearch": "github.com"
|
29 |
}
|
30 |
|
|
|
31 |
params["q"] = publication_name
|
32 |
-
|
33 |
search = GoogleSearch(params)
|
|
|
34 |
results = search.get_dict()
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
#get top 3:
|
40 |
-
|
41 |
-
top3_result=results["organic_results"][0:3]
|
42 |
-
has_github = False
|
43 |
backup_link = None
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
46 |
word_list = publication_name.split(' ')
|
47 |
len_word_list = len(word_list)
|
48 |
count = 0
|
|
|
49 |
if "https://github.com/" in result['link']:
|
50 |
for word in word_list:
|
51 |
if word in result['snippet']:
|
52 |
count+=1
|
53 |
if count >= count/len_word_list:
|
54 |
-
|
55 |
backup_link = result['link']
|
56 |
break
|
57 |
-
|
58 |
-
if
|
59 |
-
return "
|
60 |
else:
|
61 |
-
return "
|
62 |
|
63 |
import gradio as gr
|
64 |
|
|
|
28 |
"as_sitesearch": "github.com"
|
29 |
}
|
30 |
|
31 |
+
# q ở đây là query. Ở bước này, tiến hành gán input mà người dùng nhập vào vào trong param đã khởi tạo ở trên
|
32 |
params["q"] = publication_name
|
33 |
+
# Ở bước này, tiến hành search bằng thư viện GoogleSearch đã import ở trên, với tham số là param sau khi đã cập nhập câu query q
|
34 |
search = GoogleSearch(params)
|
35 |
+
# Tiến hành lưu kết quả tìm được vào results, để từ đó có thể dễ dàng truy xuất khi cần thiết
|
36 |
results = search.get_dict()
|
37 |
+
# Lấy top 5 kết quả search ra đầu tiên dưới dạng json
|
38 |
+
top5_result=results["organic_results"][0:5]
|
39 |
+
# Bây giờ sẽ tạo 2 biến, biến thứ nhất là github_link, biến này sẽ kiểm tra xem là kết quả tìm được trong top5 đó có link github hay không? nếu có thì sẽ lưu thông tin vào backup_link
|
40 |
+
github_link = False
|
|
|
|
|
|
|
|
|
41 |
backup_link = None
|
42 |
+
# Tổng số từ khoá trong việc tìm kiếm nếu trên 70% thì sẽ cho ra kết quả.
|
43 |
+
# Số 70% ở đây là một con số có thể thay đổi được, chưa có thống kê cụ thể sử dụng số nào thì hiệu quả cao hơn
|
44 |
+
threshold = 0.7
|
45 |
+
#Chạy vòng for để tìm kiếm link github trong top5 đã lấy ở trên
|
46 |
+
for result in top5_result:
|
47 |
+
# Tách các từ trong tên bài báo nhập vào ở trên. Mục tiêu là để ở bước so sánh mình sẽ lấy từng từ ra dò vào kết quả cho nhanh chóng
|
48 |
word_list = publication_name.split(' ')
|
49 |
len_word_list = len(word_list)
|
50 |
count = 0
|
51 |
+
# Trong các kết quả trả về, nếu không có link github thì bỏ qua, còn nếu có link github thì sẽ tiến hành kiểm tra xem từng từ được tách ở trên so với từ trong link git trùng khớp được bao nhiêu phần trăm. Trên 70% như đã khai báo ở trên là được.
|
52 |
if "https://github.com/" in result['link']:
|
53 |
for word in word_list:
|
54 |
if word in result['snippet']:
|
55 |
count+=1
|
56 |
if count >= count/len_word_list:
|
57 |
+
github_link = True
|
58 |
backup_link = result['link']
|
59 |
break
|
60 |
+
# Kiểm tra xem biến check link git đã là true hay chưa, nếu là true thì là có link, còn không thì không có link
|
61 |
+
if github_link == False:
|
62 |
+
return "Currently, the github link for the entered article title has not been found. Please check back later!"
|
63 |
else:
|
64 |
+
return backup_link + " | Here is the link github found based on your input. Please check the link above."
|
65 |
|
66 |
import gradio as gr
|
67 |
|