import abc from source import packets from source.behaviors.events.base import BaseEvent from source.error import UntrustedPeerException class BaseTrustedEvent(BaseEvent, abc.ABC): """ Event that can only be triggered if the distant peer is trusted """ def handle(self, packet: packets.base.BasePacket, address: tuple) -> None: # get the peer that sent the message peer = self.manager.peer.peers.get(address) # check if it is trusted if peer is None or not peer.trusted: raise UntrustedPeerException(peer)