code: def attachment_name(self):
          
          if self.__attachment_name is not None:
              return self.__attachment_name
          if self.__attachment_name_property:
              return getattr(self, self.__attachment_name_property, '')
          else:
              # property order resolution:
              # 1) try property 'subject'
              # 2) try property 'name'
              try:
                  attachment_name = getattr(self, 'subject')
              except AttributeError:
                  attachment_name = getattr(self, 'name', '')
              return attachment_name
docs: Name of the attachment
  
          :getter: get attachment name
          :setter: set new name for the attachment
          :type: str