31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
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'])
|