"""Handle formatting of JSON messages coming from topic.""" from kafka_utils.consumer.message.base import BaseEventMessage class AssetMezzanineAudioFlacEventMessage(BaseEventMessage): """AssetMezzanineAudioFlacEventMessage class.""" def __init__(self, message, topic, value_deserializer): """ Initialize. Args: message (dict): the string for JSON serialized message topic (str): The topic for the message. value_deserializer (BaseDeserializer subclass): Deserializer """ super().__init__(message, topic) self.value_deserializer = value_deserializer self.message = self.value_deserializer.deserialize(message, topic, 'value') @property def filename(self): """Asset File Name.""" return self.message.get('FILENAME') @property def asset_final_id(self): """Asset Final ID.""" return self.message.get('ASSET_FINAL_ID') @property def asset_upload_id(self): """Asset Upload ID.""" return self.message.get('ASSET_UPLOAD_ID') @property def asset_type(self): """Asset Type.""" return self.message.get('ASSET_TYPE') @property def bucket(self): """Asset Storage Bucket.""" return self.message.get('BUCKET') @property def duration_ms(self): """Audio duration in ms.""" return self.message.get('DURATION_MS') @property def metadata(self): """Asset Metadata.""" return self.message.get('METADATA')