def build_discussion(core, index): """Temporary build of output Discussion return parameter.""" discuss = DiscussionParam() discuss.user_id = core.user_id discuss.discussion_id = core.discussion_id discuss.date_insert = core.date_insert discuss.date_update = index.last_message.date_insert # TODO : excerpt from plain or html body maxsize = 100 discuss.excerpt = unicode_truncate( index.last_message.body_plain, maxsize) if index.last_message.body_plain else u'' discuss.total_count = index.total_count # TODO # discussion.privacy_index = index_message.privacy_index # XXX Only last message recipient at this time for part in index.last_message.participants: participant = Participant() participant.address = part['address'] try: participant.label = part['label'] except: participant.label = part['address'] participant.type = part['type'] if 'contact_id' in part: participant.contact_id = part['contact_id'] participant.protocol = part['protocol'] discuss.participants.append(participant) # XXX Missing values (at least other in parameter to fill) discuss.unread_count = index.unread_count discuss.attachment_count = index.attachment_count return discuss.serialize()
def create_from_message(cls, user, message): # TODO excerpt from plain or html body maxsize = 200 excerpt = unicode_truncate(message.body_plain, maxsize) if message.body_plain else u'' new_id = uuid.uuid4() kwargs = {u'discussion_id': new_id, u'date_insert': datetime.datetime.now(tz=pytz.utc), # 'privacy_index': message.privacy_index, # 'importance_level': message.importance_level, u'excerpt': excerpt, } discussion = cls.create(user, **kwargs) log.debug('Created discussion {}'.format(discussion.discussion_id)) return discussion
def build_discussion(core, index): """Temporary build of output Discussion return parameter.""" discuss = DiscussionParam() discuss.user_id = core.user_id discuss.discussion_id = core.discussion_id discuss.date_insert = core.date_insert discuss.date_update = index.last_message.date_sort # TODO : excerpt from plain or html body maxsize = 100 discuss.last_message_id = index.last_message.message_id discuss.last_message_subject = index.last_message.subject discuss.excerpt = unicode_truncate(index.last_message.body_plain, maxsize) if index.last_message.body_plain else u'' discuss.total_count = index.total_count discuss.subject = index.last_message.subject discuss.protocol = index.last_message.protocol # TODO # discussion.privacy_index = index_message.privacy_index # XXX Only last message recipient at this time for part in index.last_message.participants: participant = Participant() participant.address = part['address'] try: participant.label = part['label'] except: participant.label = part['address'] participant.type = part['type'] if 'contact_ids' in part: participant.contact_ids = part['contact_ids'] participant.protocol = part['protocol'] discuss.participants.append(participant) # XXX Missing values (at least other in parameter to fill) discuss.unread_count = index.unread_count discuss.attachment_count = index.attachment_count return discuss.serialize()