unlisten_signal error
jimparis opened this issue · comments
Jim Paris commented
if rulekey in listeners :
listeners = listeners[rulekey]
try :
listeners.pop(listeners.index(func))
except ValueError :
pass
#end try
if len(listeners) == 0 :
ignore = dbus.Error.init()
self.connection.bus_remove_match \
(
_signal_rule(path, fallback, interface, name),
ignore
)
del listeners[rulekey]
That del
raises TypeError
, because listeners
is no longer the dictionary due to the assignment in line 2.
Lawrence D'Oliveiro commented
Just some confusion over the meaning of the listeners
variable -- fixed in 9fa9c65. Thanks for the report.
Sven Depoorter commented
Hello @ldo. When do you plan a new release? I'm suffering from the same issue but I don't want to fork.
Lawrence D'Oliveiro commented
Same issue with the current version?
Sven Depoorter commented
@ido I guess you mean master? This issue was discovered after releasing version 1.1?
So from 1.1:
File "/home/sven/projects/dbussy-example/venv/lib/python3.5/site-packages/ravel.py", line 644, in unlisten_propchanged
func = func,
File "/home/sven/projects/dbussy-example/venv/lib/python3.5/site-packages/ravel.py", line 611, in unlisten_signal
del listeners[rulekey]
TypeError: list indices must be integers or slices, not tuple
1.1 from master works
Lawrence D'Oliveiro commented
PyPI version is old, needs updating.