Fixes #2286 (with /info)

This commit is contained in:
mathieui 2011-11-06 16:26:27 +01:00
parent 7bf63c51e2
commit 8b8128c416

View file

@ -1859,6 +1859,7 @@ class ConversationTab(ChatTab):
self.commands['unquery'] = (self.command_unquery, _("Usage: /unquery\nUnquery: close the tab"), None)
self.commands['close'] = (self.command_unquery, _("Usage: /close\Close: close the tab"), None)
self.commands['version'] = (self.command_version, _('Usage: /version\nVersion: get the software version of the current interlocutor (usually its XMPP client and Operating System)'), None)
self.commands['info'] = (self.command_info, _('Usage: /info\nInfo: get the status of the contact.'), None)
self.resize()
def completion(self):
@ -1882,6 +1883,18 @@ class ConversationTab(ChatTab):
self.text_win.refresh()
self.input.refresh()
def command_info(self, arg):
contact = roster.get_contact_by_jid(self.get_name())
jid = JID(self.get_name())
if jid.resource:
resource = contact.get_resource_by_fulljid(jid.full)
else:
resource = contact.get_highest_priority_resource()
if resource:
self._text_buffer.add_message("\x195}Status: %s\x193}" %resource.get_status(), None, None, None, None, None)
self.refresh()
self.core.doupdate()
def command_unquery(self, arg):
self.core.close_tab()