Skip to content
This repository was archived by the owner on Aug 28, 2020. It is now read-only.

Commit cb1cf2b

Browse files
committed
emit a signal when an error happens during a connection command
1 parent e073d1d commit cb1cf2b

File tree

1 file changed

+47
-42
lines changed

1 file changed

+47
-42
lines changed

pugdebug/server.py

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ class PugdebugServerConnection(QThread):
119119
expression_evaluated_signal = pyqtSignal(int, dict)
120120
expressions_evaluated_signal = pyqtSignal(list)
121121

122+
connection_error_signal = pyqtSignal(str, str)
123+
122124
def __init__(self, socket):
123125
super(PugdebugServerConnection, self).__init__()
124126

@@ -179,48 +181,51 @@ def run(self):
179181
data = self.data
180182
action = self.action
181183

182-
if action == 'stop':
183-
response = self.__stop()
184-
self.stopped_signal.emit()
185-
elif action == 'detach':
186-
response = self.__detach()
187-
self.detached_signal.emit()
188-
elif action == 'step_run':
189-
response = self.__step_run()
190-
self.stepped_signal.emit(response)
191-
elif action == 'step_into':
192-
response = self.__step_into()
193-
self.stepped_signal.emit(response)
194-
elif action == 'step_over':
195-
response = self.__step_over()
196-
self.stepped_signal.emit(response)
197-
elif action == 'step_out':
198-
response = self.__step_out()
199-
self.stepped_signal.emit(response)
200-
elif action == 'post_step':
201-
response = self.__post_step(data)
202-
203-
self.got_variables_signal.emit(response['variables'])
204-
self.got_stacktraces_signal.emit(response['stacktraces'])
205-
self.expressions_evaluated_signal.emit(
206-
response['expressions']
207-
)
208-
elif action == 'init_breakpoint_set':
209-
response = self.__set_init_breakpoints(data)
210-
self.set_init_breakpoints_signal.emit(response)
211-
elif action == 'breakpoint_set':
212-
response = self.__set_breakpoint(data)
213-
self.set_breakpoint_signal.emit(response)
214-
elif action == 'breakpoint_remove':
215-
response = self.__remove_breakpoint(data)
216-
self.removed_breakpoint_signal.emit(response)
217-
elif action == 'breakpoint_list':
218-
response = self.__list_breakpoints()
219-
self.listed_breakpoints_signal.emit(response)
220-
elif action == 'evaluate_expression':
221-
(index, expression) = data
222-
response = self.__evaluate_expression(expression)
223-
self.expression_evaluated_signal.emit(index, response)
184+
try:
185+
if action == 'stop':
186+
response = self.__stop()
187+
self.stopped_signal.emit()
188+
elif action == 'detach':
189+
response = self.__detach()
190+
self.detached_signal.emit()
191+
elif action == 'step_run':
192+
response = self.__step_run()
193+
self.stepped_signal.emit(response)
194+
elif action == 'step_into':
195+
response = self.__step_into()
196+
self.stepped_signal.emit(response)
197+
elif action == 'step_over':
198+
response = self.__step_over()
199+
self.stepped_signal.emit(response)
200+
elif action == 'step_out':
201+
response = self.__step_out()
202+
self.stepped_signal.emit(response)
203+
elif action == 'post_step':
204+
response = self.__post_step(data)
205+
206+
self.got_variables_signal.emit(response['variables'])
207+
self.got_stacktraces_signal.emit(response['stacktraces'])
208+
self.expressions_evaluated_signal.emit(
209+
response['expressions']
210+
)
211+
elif action == 'init_breakpoint_set':
212+
response = self.__set_init_breakpoints(data)
213+
self.set_init_breakpoints_signal.emit(response)
214+
elif action == 'breakpoint_set':
215+
response = self.__set_breakpoint(data)
216+
self.set_breakpoint_signal.emit(response)
217+
elif action == 'breakpoint_remove':
218+
response = self.__remove_breakpoint(data)
219+
self.removed_breakpoint_signal.emit(response)
220+
elif action == 'breakpoint_list':
221+
response = self.__list_breakpoints()
222+
self.listed_breakpoints_signal.emit(response)
223+
elif action == 'evaluate_expression':
224+
(index, expression) = data
225+
response = self.__evaluate_expression(expression)
226+
self.expression_evaluated_signal.emit(index, response)
227+
except OSError as error:
228+
self.connection_error_signal.emit(action, error.strerror)
224229

225230
self.mutex.unlock()
226231

0 commit comments

Comments
 (0)