code: def download_attachments(self):
          
          if not self._parent.has_attachments:
              log.debug(
                  'Parent {} has no attachments, skipping out early.'.format(
                      self._parent.__class__.__name__))
              return False
  
          if not self._parent.object_id:
              raise RuntimeError(
                  'Attempted to download attachments of an unsaved {}'.format(
                      self._parent.__class__.__name__))
  
          url = self.build_url(self._endpoints.get('attachments').format(
              id=self._parent.object_id))
  
          response = self._parent.con.get(url)
          if not response:
              return False
  
          attachments = response.json().get('value', [])
  
          # Everything received from cloud must be passed as self._cloud_data_key
          self.untrack = True
          self.add({self._cloud_data_key: attachments})
          self.untrack = False
  
          # TODO: when it's a item attachment the attachment itself
          # is not downloaded. We must download it...
          # TODO: idea: retrieve the attachments ids' only with
          # select and then download one by one.
          return True
docs: Downloads this message attachments into memory.
          Need a call to 'attachment.save' to save them on disk.
  
          :return: Success / Failure
          :rtype: bool