Some refactoring
This commit is contained in:
parent
36d2485dd6
commit
b5a87087d4
@ -211,11 +211,13 @@ class SyncplayClient(object):
|
|||||||
madeChangeOnPlayer = self._serverUnpaused(setBy)
|
madeChangeOnPlayer = self._serverUnpaused(setBy)
|
||||||
elif (paused == True and pauseChanged):
|
elif (paused == True and pauseChanged):
|
||||||
madeChangeOnPlayer = self._serverPaused(setBy, diff)
|
madeChangeOnPlayer = self._serverPaused(setBy, diff)
|
||||||
self._warnings.checkWarnings(paused)
|
|
||||||
if(paused == False):
|
|
||||||
self.userlist.roomCheckedOnFirstUnpause()
|
|
||||||
return madeChangeOnPlayer
|
return madeChangeOnPlayer
|
||||||
|
|
||||||
|
def _executePlaystateHooks(self, position, paused, doSeek, setBy, latency):
|
||||||
|
if(self.userlist.hasRoomStateChanged() and not paused):
|
||||||
|
self._warnings.checkWarnings()
|
||||||
|
self.userlist.roomStateConfirmed()
|
||||||
|
|
||||||
def updateGlobalState(self, position, paused, doSeek, setBy, latency):
|
def updateGlobalState(self, position, paused, doSeek, setBy, latency):
|
||||||
if(self.__getUserlistOnLogon):
|
if(self.__getUserlistOnLogon):
|
||||||
self.__getUserlistOnLogon = False
|
self.__getUserlistOnLogon = False
|
||||||
@ -227,6 +229,7 @@ class SyncplayClient(object):
|
|||||||
madeChangeOnPlayer = self._changePlayerStateAccordingToGlobalState(position, paused, doSeek, setBy)
|
madeChangeOnPlayer = self._changePlayerStateAccordingToGlobalState(position, paused, doSeek, setBy)
|
||||||
if(madeChangeOnPlayer):
|
if(madeChangeOnPlayer):
|
||||||
self.askPlayer()
|
self.askPlayer()
|
||||||
|
self._executePlaystateHooks(position, paused, doSeek, setBy, latency)
|
||||||
|
|
||||||
def getUserOffset(self):
|
def getUserOffset(self):
|
||||||
return self._userOffset
|
return self._userOffset
|
||||||
@ -349,31 +352,31 @@ class SyncplayClient(object):
|
|||||||
"room-files-not-same": {
|
"room-files-not-same": {
|
||||||
"timer": task.LoopingCall(self.__displayMessageOnOSD, ("room-files-not-same"),),
|
"timer": task.LoopingCall(self.__displayMessageOnOSD, ("room-files-not-same"),),
|
||||||
"displayedFor": 0,
|
"displayedFor": 0,
|
||||||
"tester": self._checkRoomForSameFiles
|
|
||||||
},
|
},
|
||||||
"alone-in-the-room": {
|
"alone-in-the-room": {
|
||||||
"timer": task.LoopingCall(self.__displayMessageOnOSD, ("alone-in-the-room"),),
|
"timer": task.LoopingCall(self.__displayMessageOnOSD, ("alone-in-the-room"),),
|
||||||
"displayedFor": 0,
|
"displayedFor": 0,
|
||||||
"tester": self._checkIfYouReAloneInTheRoom
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
def checkWarnings(self, paused):
|
def checkWarnings(self):
|
||||||
for w in self._warnings.itervalues():
|
self._checkIfYouReAloneInTheRoom()
|
||||||
w["tester"](paused)
|
self._checkRoomForSameFiles()
|
||||||
|
|
||||||
def _checkRoomForSameFiles(self, paused):
|
def _checkRoomForSameFiles(self):
|
||||||
roomFilesDiffer = not self._userlist.areAllFilesInRoomSameOnFirstUnpause()
|
if (not self._userlist.areAllFilesInRoomSame()):
|
||||||
if (paused == False and roomFilesDiffer):
|
|
||||||
self._ui.showMessage(getMessage("en", "room-files-not-same"), True)
|
self._ui.showMessage(getMessage("en", "room-files-not-same"), True)
|
||||||
if(not self._warnings["room-files-not-same"]['timer'].running):
|
if(not self._warnings["room-files-not-same"]['timer'].running):
|
||||||
self._warnings["room-files-not-same"]['timer'].start(constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL, True)
|
self._warnings["room-files-not-same"]['timer'].start(constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL, True)
|
||||||
|
elif(self._warnings["room-files-not-same"]['timer'].running):
|
||||||
|
self._warnings["room-files-not-same"]['timer'].stop()
|
||||||
|
|
||||||
def _checkIfYouReAloneInTheRoom(self, paused):
|
def _checkIfYouReAloneInTheRoom(self):
|
||||||
aloneInRoom = self._userlist.areYouAloneInRoomOnFirstUnpause()
|
if (self._userlist.areYouAloneInRoom()):
|
||||||
if (paused == False and aloneInRoom):
|
|
||||||
self._ui.showMessage(getMessage("en", "alone-in-the-room"), True)
|
self._ui.showMessage(getMessage("en", "alone-in-the-room"), True)
|
||||||
if(not self._warnings["alone-in-the-room"]['timer'].running):
|
if(not self._warnings["alone-in-the-room"]['timer'].running):
|
||||||
self._warnings["alone-in-the-room"]['timer'].start(constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL, True)
|
self._warnings["alone-in-the-room"]['timer'].start(constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL, True)
|
||||||
|
elif(self._warnings["alone-in-the-room"]['timer'].running):
|
||||||
|
self._warnings["alone-in-the-room"]['timer'].stop()
|
||||||
|
|
||||||
def __displayMessageOnOSD(self, warningName):
|
def __displayMessageOnOSD(self, warningName):
|
||||||
if (constants.OSD_WARNING_MESSAGE_DURATION > self._warnings[warningName]["displayedFor"]):
|
if (constants.OSD_WARNING_MESSAGE_DURATION > self._warnings[warningName]["displayedFor"]):
|
||||||
@ -417,7 +420,7 @@ class SyncplayUserlist(object):
|
|||||||
self._users = {}
|
self._users = {}
|
||||||
self.ui = ui
|
self.ui = ui
|
||||||
self._client = client
|
self._client = client
|
||||||
self._wasChangeInRoomSinceLastRoomCheck = True
|
self._roomUsersChanged = True
|
||||||
|
|
||||||
def __showUserChangeMessage(self, username, room, file_):
|
def __showUserChangeMessage(self, username, room, file_):
|
||||||
if (room and not file_):
|
if (room and not file_):
|
||||||
@ -443,7 +446,7 @@ class SyncplayUserlist(object):
|
|||||||
self.ui.showMessage(message)
|
self.ui.showMessage(message)
|
||||||
|
|
||||||
def addUser(self, username, room, file_, position = 0, noMessage = False):
|
def addUser(self, username, room, file_, position = 0, noMessage = False):
|
||||||
self._wasChangeInRoomSinceLastRoomCheck = True
|
self._roomUsersChanged = True
|
||||||
if(username == self.currentUser.username):
|
if(username == self.currentUser.username):
|
||||||
self.currentUser.lastPosition = position
|
self.currentUser.lastPosition = position
|
||||||
return
|
return
|
||||||
@ -453,7 +456,7 @@ class SyncplayUserlist(object):
|
|||||||
self.__showUserChangeMessage(username, room, file_)
|
self.__showUserChangeMessage(username, room, file_)
|
||||||
|
|
||||||
def removeUser(self, username):
|
def removeUser(self, username):
|
||||||
self._wasChangeInRoomSinceLastRoomCheck = True
|
self._roomUsersChanged = True
|
||||||
if(self._users.has_key(username)):
|
if(self._users.has_key(username)):
|
||||||
self._users.pop(username)
|
self._users.pop(username)
|
||||||
message = getMessage("en", "left-notification").format(username)
|
message = getMessage("en", "left-notification").format(username)
|
||||||
@ -466,7 +469,7 @@ class SyncplayUserlist(object):
|
|||||||
self.__showUserChangeMessage(username, room, None)
|
self.__showUserChangeMessage(username, room, None)
|
||||||
|
|
||||||
def modUser(self, username, room, file_):
|
def modUser(self, username, room, file_):
|
||||||
self._wasChangeInRoomSinceLastRoomCheck = True
|
self._roomUsersChanged = True
|
||||||
if(self._users.has_key(username)):
|
if(self._users.has_key(username)):
|
||||||
user = self._users[username]
|
user = self._users[username]
|
||||||
self.__displayModUserMessage(username, room, file_, user)
|
self.__displayModUserMessage(username, room, file_, user)
|
||||||
@ -536,23 +539,23 @@ class SyncplayUserlist(object):
|
|||||||
self.__displayFileWatchersInRoomList(key, rooms[roomName][key])
|
self.__displayFileWatchersInRoomList(key, rooms[roomName][key])
|
||||||
self.__displayPeopleInRoomWithNoFile(noFileList)
|
self.__displayPeopleInRoomWithNoFile(noFileList)
|
||||||
|
|
||||||
def areAllFilesInRoomSameOnFirstUnpause(self):
|
def areAllFilesInRoomSame(self):
|
||||||
if(self._wasChangeInRoomSinceLastRoomCheck):
|
for user in self._users.itervalues():
|
||||||
for user in self._users.itervalues():
|
if(user.room == self.currentUser.room and user.file and not self.currentUser.isFileSame(user.file)):
|
||||||
if(user.room == self.currentUser.room and user.file and not self.currentUser.isFileSame(user.file)):
|
return False
|
||||||
return False
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def areYouAloneInRoomOnFirstUnpause(self):
|
def areYouAloneInRoom(self):
|
||||||
if(self._wasChangeInRoomSinceLastRoomCheck):
|
for user in self._users.itervalues():
|
||||||
for user in self._users.itervalues():
|
if(user.room == self.currentUser.room):
|
||||||
if(user.room == self.currentUser.room):
|
return False
|
||||||
return False
|
return True
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
def roomCheckedOnFirstUnpause(self):
|
def roomStateConfirmed(self):
|
||||||
self._wasChangeInRoomSinceLastRoomCheck = False
|
self._roomUsersChanged = False
|
||||||
|
|
||||||
|
def hasRoomStateChanged(self):
|
||||||
|
return self._roomUsersChanged
|
||||||
|
|
||||||
def showUserList(self):
|
def showUserList(self):
|
||||||
rooms = {}
|
rooms = {}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user