X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fsession.py;h=f0fb9cfbd4b77a5c498a9cf82a490dfd22eac2ca;hb=34273e81f9923688029cfea5aa8414ca1b1e73d0;hp=a50245ab5335aa17f29feb211ec2f68e1b0babfa;hpb=51fac4abe1d256a58d3d62e41dc631eb58795d2b;p=gc-dialer diff --git a/src/session.py b/src/session.py index a50245a..f0fb9cf 100644 --- a/src/session.py +++ b/src/session.py @@ -85,11 +85,7 @@ class Draft(QtCore.QObject): def add_contact(self, contactId, title, description, numbersWithDescriptions): if self._busyReason is not None: raise RuntimeError("Please wait for %r" % self._busyReason) - if contactId in self._contacts: - _moduleLogger.info("Adding duplicate contact %r" % contactId) - # @todo Remove this evil hack to re-popup the dialog - self.recipientsChanged.emit() - return + # Allow overwriting of contacts so that the message can be updated and the SMS dialog popped back up contactDetails = _DraftContact(title, description, numbersWithDescriptions) self._contacts[contactId] = contactDetails self.recipientsChanged.emit() @@ -197,6 +193,7 @@ class Draft(QtCore.QObject): class Session(QtCore.QObject): # @todo Somehow add support for csv contacts + # @BUG When loading without caches, downloads messages twice stateChange = QtCore.pyqtSignal(str) loggedOut = QtCore.pyqtSignal() @@ -505,13 +502,19 @@ class Session(QtCore.QObject): _moduleLogger.exception("Weirdness loading") return False - ( - version, build, - contacts, contactUpdateTime, - messages, messageUpdateTime, - history, historyUpdateTime, - dnd, callback - ) = dumpedData + try: + ( + version, build, + contacts, contactUpdateTime, + messages, messageUpdateTime, + history, historyUpdateTime, + dnd, callback + ) = dumpedData + except ValueError: + _moduleLogger.exception("Upgrade/downgrade fun") + return False + except: + _moduleLogger.exception("Weirdlings") if misc_utils.compare_versions( self._OLDEST_COMPATIBLE_FORMAT_VERSION,