|
@@ -44,36 +44,36 @@ class SearchAPI:
|
|
@staticmethod
|
|
@staticmethod
|
|
def _process_response(res: dict, type: str) -> str:
|
|
def _process_response(res: dict, type: str) -> str:
|
|
"""Process response from SearchAPI."""
|
|
"""Process response from SearchAPI."""
|
|
- if "error" in res.keys():
|
|
|
|
|
|
+ if "error" in res:
|
|
raise ValueError(f"Got error from SearchApi: {res['error']}")
|
|
raise ValueError(f"Got error from SearchApi: {res['error']}")
|
|
|
|
|
|
toret = ""
|
|
toret = ""
|
|
if type == "text":
|
|
if type == "text":
|
|
- if "answer_box" in res.keys() and "answer" in res["answer_box"].keys():
|
|
|
|
|
|
+ if "answer_box" in res and "answer" in res["answer_box"]:
|
|
toret += res["answer_box"]["answer"] + "\n"
|
|
toret += res["answer_box"]["answer"] + "\n"
|
|
- if "answer_box" in res.keys() and "snippet" in res["answer_box"].keys():
|
|
|
|
|
|
+ if "answer_box" in res and "snippet" in res["answer_box"]:
|
|
toret += res["answer_box"]["snippet"] + "\n"
|
|
toret += res["answer_box"]["snippet"] + "\n"
|
|
- if "knowledge_graph" in res.keys() and "description" in res["knowledge_graph"].keys():
|
|
|
|
|
|
+ if "knowledge_graph" in res and "description" in res["knowledge_graph"]:
|
|
toret += res["knowledge_graph"]["description"] + "\n"
|
|
toret += res["knowledge_graph"]["description"] + "\n"
|
|
- if "organic_results" in res.keys() and "snippet" in res["organic_results"][0].keys():
|
|
|
|
|
|
+ if "organic_results" in res and "snippet" in res["organic_results"][0]:
|
|
for item in res["organic_results"]:
|
|
for item in res["organic_results"]:
|
|
toret += "content: " + item["snippet"] + "\n" + "link: " + item["link"] + "\n"
|
|
toret += "content: " + item["snippet"] + "\n" + "link: " + item["link"] + "\n"
|
|
if toret == "":
|
|
if toret == "":
|
|
toret = "No good search result found"
|
|
toret = "No good search result found"
|
|
|
|
|
|
elif type == "link":
|
|
elif type == "link":
|
|
- if "answer_box" in res.keys() and "organic_result" in res["answer_box"].keys():
|
|
|
|
- if "title" in res["answer_box"]["organic_result"].keys():
|
|
|
|
|
|
+ if "answer_box" in res and "organic_result" in res["answer_box"]:
|
|
|
|
+ if "title" in res["answer_box"]["organic_result"]:
|
|
toret = f"[{res['answer_box']['organic_result']['title']}]({res['answer_box']['organic_result']['link']})\n"
|
|
toret = f"[{res['answer_box']['organic_result']['title']}]({res['answer_box']['organic_result']['link']})\n"
|
|
- elif "organic_results" in res.keys() and "link" in res["organic_results"][0].keys():
|
|
|
|
|
|
+ elif "organic_results" in res and "link" in res["organic_results"][0]:
|
|
toret = ""
|
|
toret = ""
|
|
for item in res["organic_results"]:
|
|
for item in res["organic_results"]:
|
|
toret += f"[{item['title']}]({item['link']})\n"
|
|
toret += f"[{item['title']}]({item['link']})\n"
|
|
- elif "related_questions" in res.keys() and "link" in res["related_questions"][0].keys():
|
|
|
|
|
|
+ elif "related_questions" in res and "link" in res["related_questions"][0]:
|
|
toret = ""
|
|
toret = ""
|
|
for item in res["related_questions"]:
|
|
for item in res["related_questions"]:
|
|
toret += f"[{item['title']}]({item['link']})\n"
|
|
toret += f"[{item['title']}]({item['link']})\n"
|
|
- elif "related_searches" in res.keys() and "link" in res["related_searches"][0].keys():
|
|
|
|
|
|
+ elif "related_searches" in res and "link" in res["related_searches"][0]:
|
|
toret = ""
|
|
toret = ""
|
|
for item in res["related_searches"]:
|
|
for item in res["related_searches"]:
|
|
toret += f"[{item['title']}]({item['link']})\n"
|
|
toret += f"[{item['title']}]({item['link']})\n"
|