summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2013-06-14 20:36:04 +0200
committermathieui <mathieui@mathieui.net>2013-06-14 20:36:04 +0200
commit2b7676194f174ebb5019d0be1c83c2827af545c9 (patch)
treefa868727251dd90e3ac8d7d1280f38212ad4d02a
parent833faa4f370f26f2b2296114da27473d2cb6bfb5 (diff)
downloadpoezio-2b7676194f174ebb5019d0be1c83c2827af545c9.tar.gz
poezio-2b7676194f174ebb5019d0be1c83c2827af545c9.tar.bz2
poezio-2b7676194f174ebb5019d0be1c83c2827af545c9.tar.xz
poezio-2b7676194f174ebb5019d0be1c83c2827af545c9.zip
Fix #2320 (TB on /info with an off-roster contact)
-rw-r--r--src/contact.py2
-rw-r--r--src/tabs.py17
2 files changed, 15 insertions, 4 deletions
diff --git a/src/contact.py b/src/contact.py
index 5074a0dc..93f2f69e 100644
--- a/src/contact.py
+++ b/src/contact.py
@@ -41,6 +41,8 @@ class Resource(object):
def presence(self):
return self._data.get('show') or ''
+ show = presence
+
@property
def status(self):
return self._data.get('status') or ''
diff --git a/src/tabs.py b/src/tabs.py
index fb6b393b..d4267c59 100644
--- a/src/tabs.py
+++ b/src/tabs.py
@@ -3189,14 +3189,23 @@ class ConversationTab(ChatTab):
def command_info(self, arg):
contact = roster[self.get_dest_jid()]
jid = safeJID(self.get_dest_jid())
- if jid.resource:
- resource = contact[jid.full]
+ if contact:
+ if jid.resource:
+ resource = contact[jid.full]
+ else:
+ resource = contact.get_highest_priority_resource()
else:
- resource = contact.get_highest_priority_resource()
+ resource = None
if resource:
- self._text_buffer.add_message("\x19%(info_col)s}Status: %(status)s\x193}" % {'status': resource.status, 'info_col': dump_tuple(get_theme().COLOR_INFORMATION_TEXT)}, None, None, None, None, None)
+ status = (_('Status : %s') % resource.status) if resource.status else ''
+ self._text_buffer.add_message("\x19%(info_col)s}Show: %(show)s, %(status)s\x19o" % {
+ 'show': resource.show or 'available', 'status': status, 'info_col': dump_tuple(get_theme().COLOR_INFORMATION_TEXT)})
+ return True
+ else:
+ self._text_buffer.add_message("\x19%(info_col)s}No information available\x19o" % {'info_col': dump_tuple(get_theme().COLOR_INFORMATION_TEXT)})
return True
+
def command_attention(self, message=''):
if message is not '':
self.command_say(message, attention=True)