Source code for helpscout.models.attachment_data

# -*- coding: utf-8 -*-
# Copyright 2017-TODAY LasLabs Inc.
# License MIT (https://opensource.org/licenses/MIT).

import base64
import properties

from .. import BaseModel


[docs]class AttachmentData(BaseModel): data = properties.String( 'base64 encoded data.', ) @property def raw_data(self): """Raw (decoded) attachment data (possibly binary).""" return self.data and base64.b64decode(self.data) @raw_data.setter def raw_data(self, value): """Set the base64 encoded data using a raw value or file object.""" if value: try: value = value.read() except AttributeError: pass b64 = base64.b64encode(value.encode('utf-8')) self.data = b64.decode('utf-8') @raw_data.deleter def raw_data(self): self.data = None