def die(self): log.debug("tag %s die()", self.tag) # Reset so items get die() called and everything # else is notified about items disappearing. for s in self: s.die() del self[:] alltags.remove(self) unhook_all(self)
def check(self): hooks.on_hook("test", self.hook_a) # No key hooks.on_hook("test", self.hook_b, "first_remove") hooks.on_hook("test", self.hook_c, "first_remove") hooks.on_hook("test2", self.hook_a, "second_remove") hooks.call_hook("test", []) if self.test_set != "abc": raise Exception("Basic hook test failed: %s" % self.test_set) self.test_set = "" hooks.call_hook("test2", []) if self.test_set != "a": raise Exception("Basic hook test2 failed: %s" % self.test_set) self.test_set = "" hooks.unhook_all("first_remove") hooks.call_hook("test", []) if self.test_set != "a": raise Exception("unhook_all failed: %s" % self.test_set) self.test_set = "" hooks.remove_hook("test", self.hook_a) hooks.call_hook("test", []) if self.test_set != "": raise Exception("remove_hook failed: %s" % self.test_set) hooks.call_hook("test2", []) if self.test_set != "a": raise Exception("improper hook removed: %s" % self.test_set) hooks.unhook_all("second_remove") if hooks.hooks != {}: raise Exception("hooks.hooks should be empty! %s" % hooks.hooks) hooks.on_hook("argtest", self.hook_args) for args in [ [], ["abc"], [1, 2, 3] ]: self.test_args = [] hooks.call_hook("argtest", args) if self.test_args != tuple(args): raise Exception("hook arguments failed in %s out %s" % (args, self.test_args)) return True
def die(self): unhook_all(self) unregister_all(self)
def die(self): self.is_dead = True unhook_all(self)
def die(self): log.debug("Cleaning up hooks...") unhook_all(self) unregister_all(self)
def cmd_destroy(self): unhook_all(self) TextBox.cmd_destroy(self)
def die(self): self.parent_tag = None unhook_all(self)