From 22c5118e7d3af5aa83ec69b1d36a818e8afb0004 Mon Sep 17 00:00:00 2001 From: Uriziel Date: Wed, 26 Mar 2014 23:14:40 +0100 Subject: [PATCH] Added ordering to the room list (#120) --- syncplay/client.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/syncplay/client.py b/syncplay/client.py index 61b5de7..4efc433 100644 --- a/syncplay/client.py +++ b/syncplay/client.py @@ -10,6 +10,7 @@ from syncplay.messages import getMessage import threading from syncplay.constants import PRIVACY_SENDHASHED_MODE, PRIVACY_DONTSEND_MODE, \ PRIVACY_HIDDENFILENAME, FILENAME_STRIP_REGEX +import collections # libMal = None '''try: @@ -468,6 +469,11 @@ class SyncplayUser(object): def __lt__(self, other): return self.username < other.username + def __repr__(self, *args, **kwargs): + if(self.file): + return "{}: {} ({}, {})".format(self.username, self.file['name'], self.file['duration'], self.file['size']) + else: + return "{}".format(self.username) class MalUpdater(object): def __init__(self, username, password, ui): @@ -623,14 +629,17 @@ class SyncplayUserlist(object): if(self.currentUser.room not in rooms): rooms[self.currentUser.room] = [] rooms[self.currentUser.room].append(self.currentUser) - + rooms = self.sortList(rooms) self.ui.showUserList(self.currentUser, rooms) def clearList(self): self._users = {} - def sortList(self): - pass + def sortList(self, rooms): + for room in rooms: + rooms[room] = sorted(rooms[room]) + rooms = collections.OrderedDict(sorted(rooms.items())) + return rooms class UiManager(object): def __init__(self, client, ui):