self.cl.run("subs", self.id)
self.subscribers.add(cb)
- def unsubscribe(self):
+ def unsubscribe(self, cb):
if cb not in self.subscribers:
raise ValueError("Not subscribed")
self.subscribers.remove(cb)
except: pass
def close(self):
- self.cl.run("unbind", self.id)
- del self.cl.proxies[self.id]
+ if self.id is not None:
+ self.cl.run("unbind", self.id)
+ del self.cl.proxies[self.id]
+ self.id = None
+
+ def __del__(self):
+ self.close()
def __enter__(self):
return self