Skip to content
This repository was archived by the owner on Jan 27, 2023. It is now read-only.

Commit 6f0bf2b

Browse files
Verbose error messages
1 parent 9c767fa commit 6f0bf2b

2 files changed

Lines changed: 15 additions & 9 deletions

File tree

search_in_project.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,18 @@ def perform_search(self, text):
5353
folders = self.search_folders()
5454

5555
self.common_path = self.find_common_path(folders)
56-
self.results = self.engine.run(text, folders)
57-
if self.results:
58-
self.results = [[result[0].replace(self.common_path.replace('\"', ''), ''), result[1]] for result in self.results]
59-
self.window.show_quick_panel(self.results, self.goto_result)
60-
else:
56+
try:
57+
self.results = self.engine.run(text, folders)
58+
if self.results:
59+
self.results = [[result[0].replace(self.common_path.replace('\"', ''), ''), result[1]] for result in self.results]
60+
self.window.show_quick_panel(self.results, self.goto_result)
61+
else:
62+
self.results = []
63+
self.window.show_quick_panel(["No results"], None)
64+
except RuntimeError as e:
6165
self.results = []
62-
self.window.show_quick_panel(["No results"], None)
66+
self.window.show_quick_panel([["%s running search engine %s:"%(e.__class__.__name__,self.engine_name), e.args[0]]], None)
67+
6368

6469
def goto_result(self, file_no):
6570
if file_no != -1:

searchengines/base.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,10 @@ def run(self, query, folders):
4040
stderr=subprocess.PIPE
4141
)
4242
output, error = pipe.communicate()
43+
4344
if pipe.returncode != 0:
44-
return None
45-
return self._parse_output(self._sanitize_output(output).strip())
45+
raise RuntimeError(self._sanitize_output(error))
46+
return self._parse_output(self._sanitize_output(output))
4647

4748
def _command_line(self, query, folders):
4849
"""
@@ -56,7 +57,7 @@ def _command_line(self, query, folders):
5657
] + folders)
5758

5859
def _sanitize_output(self, output):
59-
return output.decode('utf-8')
60+
return output.decode('utf-8').strip()
6061

6162
def _parse_output(self, output):
6263
lines = output.split("\n")

0 commit comments

Comments
 (0)