Skip to content

Commit ea06b32

Browse files
committed
One source of truth for status
1 parent 3fc1f48 commit ea06b32

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/roslibpy/actionlib.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ def send(self, result_callback=None, timeout=None):
120120
if result_callback:
121121
self.on('result', result_callback)
122122

123+
self.status = {'status': GoalStatus.PENDING}
124+
123125
self.action_client.goal_topic.publish(self.goal_message)
124126
if timeout:
125127
self.action_client.ros.call_later(timeout, self._trigger_timeout)
@@ -163,6 +165,8 @@ def _set_feedback(self, feedback):
163165

164166
@property
165167
def is_active(self):
168+
if self.status is None:
169+
return False
166170
return (self.status['status'] == GoalStatus.ACTIVE or
167171
self.status['status'] == GoalStatus.PENDING)
168172

@@ -244,15 +248,13 @@ def _on_feedback_message(self, message):
244248
goal = self.goals.get(goal_id, None)
245249

246250
if goal:
247-
goal.emit('status', message['status'])
248251
goal.emit('feedback', message['feedback'])
249252

250253
def _on_result_message(self, message):
251254
goal_id = message['status']['goal_id']['id']
252255
goal = self.goals.get(goal_id, None)
253256

254257
if goal:
255-
goal.emit('status', message['status'])
256258
goal.emit('result', message['result'])
257259

258260
def add_goal(self, goal):

0 commit comments

Comments
 (0)