import base64 from classes.Message import Message class AnnouncementMessage(Message): def __init__(self, name: str, encrypted_announcement: bytes, announcement_hash: bytes): super().__init__() self.message_fields['type'] = 'announcement' self.set_name(name) self.set_encrypted_announcement(encrypted_announcement) self.set_announcement_hash(announcement_hash) def set_name(self, name: str): self.message_fields['name'] = name def get_name(self) -> str: return self.message_fields['name'] def set_encrypted_announcement(self, announcement: bytes): self.message_fields['encrypted_announcement'] = base64.b64encode(announcement).decode('utf-8') def get_encrypted_announcement(self) -> bytes: return base64.b64decode(self.message_fields['encrypted_announcement']) def set_announcement_hash(self, announcement_hash: bytes): self.message_fields['announcement_hash'] = base64.b64encode(announcement_hash).decode('utf-8') def get_announcement_hash(self) -> bytes: return base64.b64decode(self.message_fields['announcement_hash'])