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

Commit 8cfe7a7

Browse files
authored
Fix error when canceling import (#107)
* Fix error when canceling import * Add tests * Fix flake8
1 parent 0dcee0b commit 8cfe7a7

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

march_rqt_gait_generator/src/march_rqt_gait_generator/gait_generator_controller.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,11 @@ def update_gait_duration(self, duration):
217217
def import_gait(self):
218218
file_name, f = self.view.open_file_dialogue()
219219

220-
gait = ModifiableSubgait.from_file(self.robot, file_name, self)
220+
if file_name != '':
221+
gait = ModifiableSubgait.from_file(self.robot, file_name, self)
222+
else:
223+
gait = None
224+
221225
if gait is None:
222226
rospy.logwarn('Could not load gait %s', file_name)
223227
return
@@ -247,7 +251,11 @@ def import_gait(self):
247251
def import_side_subgait(self, side='previous'):
248252
file_name, f = self.view.open_file_dialogue()
249253

250-
subgait = ModifiableSubgait.from_file(self.robot, file_name, self)
254+
if file_name != '':
255+
subgait = ModifiableSubgait.from_file(self.robot, file_name, self)
256+
else:
257+
subgait = None
258+
251259
if subgait is None:
252260
rospy.logwarn('Could not load gait %s', file_name)
253261
return

march_rqt_gait_generator/test/nosetests/gait_generator_controller_test.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,14 @@ def test_import_gait_wrong_gait_file(self):
180180
with self.assertRaises(FileNotFoundError):
181181
self.gait_generator_controller.import_gait()
182182

183+
def test_import_gait_cancel(self):
184+
self.gait_generator_view.open_file_dialogue = Mock(return_value=('', None))
185+
186+
try:
187+
self.gait_generator_controller.import_gait()
188+
except FileNotFoundError:
189+
self.fail('Import gait raised FileNotFoundError')
190+
183191
def test_import_gait(self):
184192
self.gait_generator_view.open_file_dialogue = Mock(return_value=(self.subgait_path, None))
185193

@@ -380,6 +388,14 @@ def test_import_next_subgait(self):
380388
self.gait_generator_controller.import_side_subgait('next')
381389
self.assertEqual(self.gait_generator_controller.next_subgait.subgait_name, 'left_swing')
382390

391+
def test_import_side_subgait_cancel(self):
392+
self.gait_generator_view.open_file_dialogue = Mock(return_value=('', None))
393+
394+
try:
395+
self.gait_generator_controller.import_side_subgait('previous')
396+
except FileNotFoundError:
397+
self.fail('Import side subgait raised FileNotFoundError')
398+
383399
def test_import_previous_subgait_lock_start(self):
384400
self.gait_generator_view.open_file_dialogue = Mock(return_value=(self.subgait_path, None))
385401

0 commit comments

Comments
 (0)