Eventlistener: cannot subscribe/unsubscribe twice
Closed this issue · 1 comments
olivierpelet commented
Hello,
I'm facing an issue with one of my olympe.Eventlistener
derived class.
I'm able to subscribe to events, then unsubscribe, subscribe again but when I call the unsubscribe function for the second time, an exception occurs:
File "...../.pyenv/versions/dr0n3_3.6.9/lib/python3.6/site-packages/olympe/arsdkng/expectations.py", line 305, in unsubscribe
self._attr.default.subscribers.remove(subscriber)
ValueError: list.remove(x): x not in list
I've edited the "main" function of the sample code from src/olympe/doc/examples/listener.py in order to reproduce the bug:
if __name__ == "__main__":
drone = olympe.Drone(DRONE_IP)
# Explicit subscription to every event
every_event_listener = EveryEventListener(drone)
every_event_listener.subscribe()
drone.connect()
every_event_listener.unsubscribe()
time.sleep(3)
every_event_listener.subscribe()
time.sleep(3)
every_event_listener.unsubscribe() # The exception occurs here
drone.disconnect()
ndessart commented
This has been fixed in the 7.X release series.