From 3f0fe0c015bc652eb53cae029385e5a967aac1c0 Mon Sep 17 00:00:00 2001 From: Uriziel Date: Sat, 22 Sep 2012 01:53:54 +0200 Subject: [PATCH] Upgraded file comparing function --- syncplay/client.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/syncplay/client.py b/syncplay/client.py index 8bdae64..ddfaa23 100644 --- a/syncplay/client.py +++ b/syncplay/client.py @@ -512,9 +512,16 @@ class SyncplayClientManager(object): def getUsersWithNotMatchingFilenames(self): if(self.currentUser.filename == None): return [] - matchingFilename = lambda x: (x.filename == None or x.filename == self.currentUser.filename) or x.room <> self.currentUser.room + matchingFilename = lambda x: self._areUsersFilesSame(x) return list(itertools.ifilterfalse(matchingFilename, self.users)) + def _areUsersFilesSame(self, user): + filenameCheck = (user.filename == None or user.filename == self.currentUser.filename) + sizeCheck = (user.filesize == None or user.filesize == self.currentUser.filesize) + durationCheck = (user.fileduration == None or user.fileduration == self.currentUser.fileduration) + roomCheck = user.room <> self.currentUser.room + return (filenameCheck and sizeCheck and durationCheck) or roomCheck + def setUsersRoom(self, username, room): for u in self.users: if(u.name == username):