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()
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()
_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,