(self, queries: list, project_name: str)
| 77 | return browser, raw, data |
| 78 | |
| 79 | def search_queries(self, queries: list, project_name: str) -> dict: |
| 80 | results = {} |
| 81 | |
| 82 | knowledge_base = KnowledgeBase() |
| 83 | |
| 84 | if self.engine == "bing": |
| 85 | web_search = BingSearch() |
| 86 | elif self.engine == "google": |
| 87 | web_search = GoogleSearch() |
| 88 | else: |
| 89 | web_search = DuckDuckGoSearch() |
| 90 | |
| 91 | self.logger.info(f"\nSearch Engine :: {self.engine}") |
| 92 | |
| 93 | for query in queries: |
| 94 | query = query.strip().lower() |
| 95 | |
| 96 | # knowledge = knowledge_base.get_knowledge(tag=query) |
| 97 | # if knowledge: |
| 98 | # results[query] = knowledge |
| 99 | # continue |
| 100 | |
| 101 | loop = asyncio.new_event_loop() |
| 102 | asyncio.set_event_loop(loop) |
| 103 | |
| 104 | web_search.search(query) |
| 105 | |
| 106 | link = web_search.get_first_link() |
| 107 | print("\nLink :: ", link, '\n') |
| 108 | if not link: |
| 109 | continue |
| 110 | browser, raw, data = loop.run_until_complete(self.open_page(project_name, link)) |
| 111 | emit_agent("screenshot", {"data": raw, "project_name": project_name}, False) |
| 112 | results[query] = self.formatter.execute(data, project_name) |
| 113 | |
| 114 | self.logger.info(f"got the search results for : {query}") |
| 115 | # knowledge_base.add_knowledge(tag=query, contents=results[query]) |
| 116 | return results |
| 117 | |
| 118 | def update_contextual_keywords(self, sentence: str): |
| 119 | """ |
no test coverage detected