Adding testing of blank Text channel, fixing lots of little bugs along the way
[theonering] / src / gvoice / conversations.py
index fad4b40..357a844 100644 (file)
@@ -58,6 +58,15 @@ class Conversations(object):
        def get_conversation(self, key):
                return self._conversations[key]
 
+       def clear_conversation(self, key):
+               try:
+                       del self._conversations[key]
+               except KeyError:
+                       _moduleLogger.info("Conversation never existed for %r" % (key,))
+
+       def clear_all(self):
+               self._conversations.clear()
+
 
 class Conversation(object):
 
@@ -95,16 +104,18 @@ class Conversation(object):
 
                messageAppended = False
 
+               # @todo Handle No Transcription voicemails
                messageParts = self._data["messageParts"]
                for message in moreData["messageParts"]:
                        messageWithTimestamp = self._append_time(message, moreData["time"])
                        if messageWithTimestamp not in messageParts:
                                messageParts.append(messageWithTimestamp)
                                messageAppended = True
+               messageParts.sort()
 
                return messageAppended
 
        @staticmethod
        def _append_time(message, exactWhen):
                whoFrom, message, when = message
-               return whoFrom, message, when, exactWhen
+               return exactWhen, whoFrom, message, when