diff options
author | Georg Lukas <georg@op-co.de> | 2018-12-14 13:08:37 +0100 |
---|---|---|
committer | Georg Lukas <georg@op-co.de> | 2018-12-16 19:02:06 +0100 |
commit | d619e0c5ff9c896c0eb35b24cb28f79b150595fe (patch) | |
tree | 46aca5d7e802154be61c4ad6795e5da9863fedca | |
parent | f3aad52c7febd63fc251cf70604326eb14e57f61 (diff) | |
download | poezio-d619e0c5ff9c896c0eb35b24cb28f79b150595fe.tar.gz poezio-d619e0c5ff9c896c0eb35b24cb28f79b150595fe.tar.bz2 poezio-d619e0c5ff9c896c0eb35b24cb28f79b150595fe.tar.xz poezio-d619e0c5ff9c896c0eb35b24cb28f79b150595fe.zip |
Roster: display presence.show when contact goes offline, if available.
-rw-r--r-- | poezio/core/handlers.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/poezio/core/handlers.py b/poezio/core/handlers.py index b87e7307..0a6e7e50 100644 --- a/poezio/core/handlers.py +++ b/poezio/core/handlers.py @@ -1068,7 +1068,8 @@ class HandlerCore: '{http://jabber.org/protocol/muc#user}x') is not None: return jid = presence['from'] - if not logger.log_roster_change(jid.bare, 'got offline'): + status = presence['status'] + if not logger.log_roster_change(jid.bare, 'got offline{}'.format(' ({})'.format(status) if status else '')): self.core.information('Unable to write in the log file', 'Error') # If a resource got offline, display the message in the conversation with this # precise resource. @@ -1078,12 +1079,15 @@ class HandlerCore: roster.connected -= 1 if contact.name: name = contact.name + offline_msg = '%s is \x191}offline' % name + if status: + offline_msg += ' (\x19o%s\x191})' % status if jid.resource: self.core.add_information_message_to_conversation_tab( - jid.full, '\x195}%s is \x191}offline' % name) + jid.full, '\x195}' + offline_msg) self.core.add_information_message_to_conversation_tab( - jid.bare, '\x195}%s is \x191}offline' % name) - self.core.information('\x193}%s \x195}is \x191}offline' % name, + jid.bare, '\x195}' + offline_msg) + self.core.information('\x193}' + offline_msg, 'Roster') roster.modified() if isinstance(self.core.tabs.current_tab, tabs.RosterInfoTab): |