Fixed disconnecting reguraly when no file is played

This commit is contained in:
Uriziel 2014-05-06 00:06:37 +02:00
parent 6bef96673e
commit f6a98717ab

View File

@ -265,7 +265,6 @@ class Watcher(object):
def setPosition(self, position): def setPosition(self, position):
self._position = position self._position = position
self._lastUpdatedOn = time.time()
def getPosition(self): def getPosition(self):
if self._position is None: if self._position is None:
@ -276,13 +275,13 @@ class Watcher(object):
timePassedSinceSet = 0 timePassedSinceSet = 0
return self._position + timePassedSinceSet return self._position + timePassedSinceSet
def sendSetting(self, username, roomName, file_, event): def sendSetting(self, user, room, file_, event):
self._connector.sendUserSetting(username, roomName, file_, event) self._connector.sendUserSetting(user, room, file_, event)
def __lt__(self, b): def __lt__(self, b):
if self.getPosition() is None: if self.getPosition() is None or self._file is None:
return False return False
if b.getPosition is None: if b.getPosition is None or b._file is None:
return True return True
return self.getPosition() < b.getPosition() return self.getPosition() < b.getPosition()
@ -311,23 +310,21 @@ class Watcher(object):
self._connector.drop() self._connector.drop()
def __hasPauseChanged(self, paused): def __hasPauseChanged(self, paused):
if paused is None:
return False
return self._room.isPaused() and not paused or not self._room.isPaused() and paused return self._room.isPaused() and not paused or not self._room.isPaused() and paused
def updateState(self, position, paused, doSeek, messageAge): def updateState(self, position, paused, doSeek, messageAge):
if(self._file): pauseChanged = self.__hasPauseChanged(paused)
oldPosition = self.getPosition() self._lastUpdatedOn = time.time()
pauseChanged = False if pauseChanged:
if(paused is not None): self.getRoom().setPaused(Room.STATE_PAUSED if paused else Room.STATE_PLAYING, self)
pauseChanged = self.__hasPauseChanged(paused) if position is not None:
if pauseChanged: if(not paused):
self.getRoom().setPaused(Room.STATE_PAUSED if paused else Room.STATE_PLAYING, self) position += messageAge
if(position is not None): self.setPosition(position)
if(not paused): if doSeek or pauseChanged:
position += messageAge self._server.forcePositionUpdate(self._room, self, doSeek)
self._position = position
self._lastUpdatedOn = time.time()
if(doSeek or pauseChanged):
self._server.forcePositionUpdate(self._room, self, doSeek)
class ConfigurationGetter(object): class ConfigurationGetter(object):