Server only accepts playlist/index changes from room operators in managed rooms

This commit is contained in:
Et0h 2016-01-04 12:10:28 +00:00
parent a85f9bae6c
commit 5d5c0a741b

View File

@ -138,12 +138,22 @@ class SyncFactory(Factory):
self._roomManager.broadcastRoom(watcher, lambda w: w.sendSetReady(watcher.getName(), watcher.isReady(), manuallyInitiated))
def setPlaylist(self, watcher, files):
watcher.getRoom().setPlaylist(files, watcher)
self._roomManager.broadcastRoom(watcher, lambda w: w.setPlaylist(watcher.getName(), files))
room = watcher.getRoom()
if room.canControl(watcher):
watcher.getRoom().setPlaylist(files, watcher)
self._roomManager.broadcastRoom(watcher, lambda w: w.setPlaylist(watcher.getName(), files))
else:
watcher.setPlaylist(room.getName(), room.getPlaylist())
watcher.setPlaylistIndex(room.getName(), room.getPlaylistIndex())
def setPlaylistIndex(self, watcher, index):
watcher.getRoom().setPlaylistIndex(index, watcher)
self._roomManager.broadcastRoom(watcher, lambda w: w.setPlaylistIndex(watcher.getName(), index))
room = watcher.getRoom()
if room.canControl(watcher):
watcher.getRoom().setPlaylistIndex(index, watcher)
self._roomManager.broadcastRoom(watcher, lambda w: w.setPlaylistIndex(watcher.getName(), index))
else:
watcher.setPlaylistIndex(room.getName(), room.getPlaylistIndex())
class RoomManager(object):
def __init__(self):