def append_conversation(self, newConversation):
self._validate(newConversation)
+ similarExist = False
for similarConversation in self._find_related_conversation(newConversation.id):
self._update_previous_related_conversation(similarConversation, newConversation)
self._remove_repeats(similarConversation, newConversation)
+ similarExist = True
+ if similarExist:
+ if newConversation.messages:
+ newConversation.isRead = False
+ else:
+ newConversation.isRead = True
self._conversations.append(newConversation)
def to_dict(self):
return similarConversations
def _update_previous_related_conversation(self, relatedConversation, newConversation):
- for commonField in ("isRead", "isSpam", "isTrash", "isArchived"):
+ for commonField in ("isSpam", "isTrash", "isArchived"):
newValue = getattr(newConversation, commonField)
setattr(relatedConversation, commonField, newValue)