diff options
author | mathieui <mathieui@mathieui.net> | 2012-07-31 20:51:18 +0200 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2012-07-31 20:51:18 +0200 |
commit | 4a7f6c5eaf2d4fa721e3ce80860d65f48d38b375 (patch) | |
tree | 56f23efcc83f9129c5169a110a4864eec58723c9 | |
parent | ee97ba6b6cf96d2f6f0dd67928da4f370bab9f12 (diff) | |
download | poezio-4a7f6c5eaf2d4fa721e3ce80860d65f48d38b375.tar.gz poezio-4a7f6c5eaf2d4fa721e3ce80860d65f48d38b375.tar.bz2 poezio-4a7f6c5eaf2d4fa721e3ce80860d65f48d38b375.tar.xz poezio-4a7f6c5eaf2d4fa721e3ce80860d65f48d38b375.zip |
Sort the contacts in the roster groups by show (xa/away/…)
-rw-r--r-- | src/contact.py | 6 | ||||
-rw-r--r-- | src/roster.py | 5 |
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] |