X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fgvoice%2Fconversations.py;h=d6edcb78634cd92c02c169fef582c7319240b703;hb=707c9235445ddf929457e6bb1850b4af6d4702f6;hp=c62550dc6a86dfa614c494dcf6d20110c8d5e6e8;hpb=f0abed7681c0040fd983ade9ee3c9946226d9efd;p=theonering diff --git a/src/gvoice/conversations.py b/src/gvoice/conversations.py index c62550d..d6edcb7 100644 --- a/src/gvoice/conversations.py +++ b/src/gvoice/conversations.py @@ -20,6 +20,11 @@ import util.go_utils as gobject_utils _moduleLogger = logging.getLogger(__name__) +class ConversationError(RuntimeError): + + pass + + class Conversations(object): OLDEST_COMPATIBLE_FORMAT_VERSION = misc_utils.parse_version("0.8.0") @@ -111,12 +116,17 @@ class Conversations(object): markAllAsRead = False else: markAllAsRead = True + try: mergedConversations.append_conversation(conversation, markAllAsRead) isConversationUpdated = True + except ConversationError, e: + isConversationUpdated = False + except AssertionError, e: + _moduleLogger.debug("%s Skipping conversation for %r because '%s'" % (self._name, key, e)) + isConversationUpdated = False except RuntimeError, e: - if False: - _moduleLogger.debug("%s Skipping conversation for %r because '%s'" % (self._name, key, e)) + _moduleLogger.debug("%s Skipping conversation for %r because '%s'" % (self._name, key, e)) isConversationUpdated = False if isConversationUpdated: @@ -203,7 +213,7 @@ class MergedConversations(object): ) if newConversation.time <= self._conversations[-1].time: - raise RuntimeError("Conversations got out of order") + raise ConversationError("Conversations got out of order") def _find_related_conversation(self, convId): similarConversations = (