diff options
Diffstat (limited to 'src/roster_sorting.py')
-rw-r--r-- | src/roster_sorting.py | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/roster_sorting.py b/src/roster_sorting.py deleted file mode 100644 index c57f0dce..00000000 --- a/src/roster_sorting.py +++ /dev/null @@ -1,90 +0,0 @@ -""" -Defines the roster sorting methods used in roster.py -(for contacts/groups) -""" - -########################### Contacts sorting ############################ - -PRESENCE_PRIORITY = {'unavailable': 5, - 'xa': 4, - 'away': 3, - 'dnd': 2, - '': 1, - 'available': 1} - -def sort_jid(contact): - """Sort by contact JID""" - return contact.bare_jid - -def sort_show(contact): - """Sort by show (from high availability to low)""" - res = contact.get_highest_priority_resource() - if not res: - return 5 - show = res.presence - if show not in PRESENCE_PRIORITY: - return 0 - return PRESENCE_PRIORITY[show] - -def sort_resource_nb(contact): - """Sort by number of connected resources""" - return - len(contact) - -def sort_name(contact): - """Sort by name (case insensitive)""" - return contact.name.lower() or contact.bare_jid - -def sort_sname(contact): - """Sort by name (case sensitive)""" - return contact.name or contact.bare_jid - -def sort_online(contact): - """Sort by connected/disconnected""" - result = sort_show(contact) - return 0 if result < 5 else 1 - -SORTING_METHODS = { - 'jid': sort_jid, - 'sname': sort_sname, - 'show': sort_show, - 'resource': sort_resource_nb, - 'name': sort_name, - 'online': sort_online, -} - - -######################## Roster Groups sorting ########################## - -def sort_group_name(group): - """Sort by name (case insensitive)""" - return group.name.lower() - -def sort_group_sname(group): - """Sort by name (case-sensitive)""" - return group.name - -def sort_group_folded(group): - """Sort by folded/unfolded""" - return group.folded - -def sort_group_connected(group): - """Sort by number of connected contacts""" - return - group.get_nb_connected_contacts() - -def sort_group_size(group): - """Sort by group size""" - return - len(group) - -def sort_group_none(group): - """Put the none group at the end, if any""" - return 0 if group.name != 'none' else 1 - -GROUP_SORTING_METHODS = { - 'name': sort_group_name, - 'fold': sort_group_folded, - 'connected': sort_group_connected, - 'size': sort_group_size, - 'none': sort_group_none, - 'sname': sort_group_sname, -} - |