summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/contact.py6
-rw-r--r--src/roster.py5
2 files changed, 6 insertions, 5 deletions
diff --git a/src/contact.py b/src/contact.py
index 8d3b2bdf..3de2f496 100644
--- a/src/contact.py
+++ b/src/contact.py
@@ -33,15 +33,15 @@ class Resource(object):
@property
def priority(self):
- return self._data['priority']
+ return self._data.get('priority') or 0
@property
def presence(self):
- return self._data['show']
+ return self._data.get('show') or ''
@property
def status(self):
- return self._data['status']
+ return self._data.get('status') or ''
def __repr__(self):
return '<%s>' % self._jid
diff --git a/src/roster.py b/src/roster.py
index c86b33ac..818b3025 100644
--- a/src/roster.py
+++ b/src/roster.py
@@ -247,9 +247,10 @@ class RosterGroup(object):
def get_contacts(self, contact_filter):
"""Return the group contacts, filtered and sorted"""
def compare_contact(a):
- if not a.get_highest_priority_resource():
+ res = a.get_highest_priority_resource()
+ if not res:
return 0
- show = a.get_highest_priority_resource()
+ show = res.presence
if show not in PRESENCE_PRIORITY:
return 5
return PRESENCE_PRIORITY[show]