def notify(self, signal, event = None): for h in self.handlers[signal]: try: h[0](event, *h[1]) except Exception, e: import traceback traceback.print_exc() logger.warning("%s sent %s signal to bad handler %s: %s" %(self.__class__.__name__, signal, h[0], e))
def popup_set_packet(self, popup, packet, packet_class): new_packet = packet_class() new_packet.add_payload(packet.payload) if(packet == self.model.packet): #корневой заголовок self.model.set_packet(new_packet) else: u = packet.underlayer if(u is None): logger.warning("None underlayer for no root layer!") else: u.remove_payload() u.add_payload(new_packet) self.model.update()
def popup_remove_packet(self, popup, packet): if(packet == self.model.packet): #корневой заголовок if(not packet.payload): self.model.set_packet(None) else: self.model.set_packet(packet.payload) else: u = packet.underlayer if(u is None): logger.warning("None underlayer for no root layer!") else: u.remove_payload() u.add_payload(packet.payload) self.model.update()