tp.ChannelTypeStreamedMedia.Close(self)
self.remove_from_connection()
- if self.__calledNumber is not None:
- le = gobject_utils.AsyncLinearExecution(self._conn.session.pool, self._cancel)
- le.start()
-
@misc_utils.log_exception(_moduleLogger)
def GetLocalPendingMembersWithInfo(self):
info = dbus.Array([], signature="(uuus)")
self.__calledNumber = contactNumber
self.CallStateChanged(self.__contactHandle, telepathy.constants.CHANNEL_CALL_STATE_RINGING)
+ self._delayedClose.start(seconds=0)
+ self.CallStateChanged(self.__contactHandle, telepathy.constants.CHANNEL_CALL_STATE_FORWARDED)
+
try:
result = yield (
self._conn.session.backend.call,
(contactNumber, ),
{},
)
- except Exception:
+ except Exception, e:
_moduleLogger.exception("While placing call to %s" % (self.__calledNumber, ))
- return
-
- self._delayedClose.start(seconds=0)
- self.CallStateChanged(self.__contactHandle, telepathy.constants.CHANNEL_CALL_STATE_FORWARDED)
-
- @misc_utils.log_exception(_moduleLogger)
- def _cancel(self):
- _moduleLogger.debug("Cancelling call")
- try:
- result = yield (
- self._conn.session.backend.cancel,
- (self.__calledNumber, ),
- {},
+ self._conn.force_log_display()
+ accountNumber = misc_utils.normalize_number(self._conn.session.backend.get_account_number())
+ self._conn.log_to_user(
+ __name__,
+ "Error while placing call from %s to %s:\n%s" % (
+ accountNumber, self.__calledNumber, str(e)
+ )
)
- except Exception:
- _moduleLogger.exception("While canceling a call to %s" % (self.__calledNumber, ))
return
@misc_utils.log_exception(_moduleLogger)
if not Hold:
return
_moduleLogger.debug("Closing without cancel to get out of users way")
- self.__calledNumber = None
self.close()
@misc_utils.log_exception(_moduleLogger)
def _on_close_requested(self, *args):
_moduleLogger.debug("Cancel now disallowed")
- self.__calledNumber = None
self.close()
newConversations = list(newConversations)
postSelfLen = len(newConversations)
if postSelfLen < postUpdateLen:
- self._conn.log_to_user(__name__, "Dropped %s messages due to being from self" % (postUpdateLen - postSelfLen))
+ _moduleLogger.info("Dropped %s messages due to being from self" % (postUpdateLen - postSelfLen))
if not newConversations:
_moduleLogger.debug(
"New messages for %r are from yourself" % (self._contactKey, )
newConversations = list(newConversations)
postReadLen = len(newConversations)
if postReadLen < postSelfLen:
- self._conn.log_to_user(__name__, "Dropped %s messages due to already being read" % (postSelfLen- postReadLen))
+ _moduleLogger.info("Dropped %s messages due to already being read" % (postSelfLen- postReadLen))
if not newConversations:
_moduleLogger.debug(
"New messages for %r have already been read externally" % (self._contactKey, )
return h
+ def force_log_display(self):
+ accountNumber = misc_utils.normalize_number(self.session.backend.get_account_number())
+ debugHandle = self.get_handle_by_name(
+ telepathy.HANDLE_TYPE_CONTACT,
+ accountNumber,
+ )
+ debugPromptProps = self.generate_props(telepathy.CHANNEL_TYPE_TEXT, debugHandle, False)
+ self.__channelManager.channel_for_props(debugPromptProps, signal=True)
+
def log_to_user(self, component, message):
for logger in self._loggers:
logger.log_message(component, message)