Add console support for controlled rooms

This commit is contained in:
Et0h 2014-10-15 02:07:33 +01:00
parent 94ce0221b8
commit 68d163e476
3 changed files with 16 additions and 2 deletions

View File

@ -45,6 +45,8 @@ COMMANDS_LIST = ["l", "list", "users"]
COMMANDS_PAUSE = ["p", "play", "pause"]
COMMANDS_ROOM = ["r", "room"]
COMMANDS_HELP = ['help', 'h', '?', '/?', r'\?']
COMMANDS_CREATE = ['c','create']
COMMANDS_IDENTIFY = ['i','identify']
MPC_MIN_VER = "1.6.4"
VLC_MIN_VERSION = "2.0.0"
VLC_INTERFACE_MIN_VERSION = "0.2.1"

View File

@ -53,6 +53,8 @@ en = {
"commandlist-notification/pause" : "\tp - toggle pause",
"commandlist-notification/seek" : "\t[s][+-]time - seek to the given value of time, if + or - is not specified it's absolute time in seconds or min:sec",
"commandlist-notification/help" : "\th - this help",
"commandlist-notification/create" : "\tc - create controlled room using name of current room",
"commandlist-notification/identify" : "\ti [password] - identify as room controller with controller password",
"syncplay-version-notification" : "Syncplay version: {}", # syncplay.version
"more-info-notification" : "More info available at: {}", # projectURL

View File

@ -55,14 +55,17 @@ class ConsoleUI(threading.Thread):
message = u"In room '{}':".format(room)
self.showMessage(message, True)
for user in rooms[room]:
username = "*<{}>*".format(user.username) if user == currentUser else "<{}>".format(user.username)
userflags = u""
if user.isController():
userflags = userflags + u"(Controller) "
username = userflags + u"*<{}>*".format(user.username) if user == currentUser else userflags + u"<{}>".format(user.username)
if user.file:
message = u"{} is playing:".format(username)
self.showMessage(message, True)
message = u" File: '{}' ({})".format(user.file['name'], formatTime(user.file['duration']))
if currentUser.file:
if user.file['name'] == currentUser.file['name'] and user.file['size'] != currentUser.file['size']:
message += " (their file size is different from yours!)"
message += u" (their file size is different from yours!)"
self.showMessage(message, True)
else:
message = u"{} is not playing a file".format(username)
@ -140,6 +143,11 @@ class ConsoleUI(threading.Thread):
self._syncplayClient.setRoom(room)
self._syncplayClient.sendRoom()
elif command.group('command') in constants.COMMANDS_CREATE:
self._syncplayClient.createControlledRoom()
elif command.group('command') in constants.COMMANDS_IDENTIFY:
controlpassword = command.group('parameter')
self._syncplayClient.identifyAsController(controlpassword)
else:
if self._tryAdvancedCommands(data):
return
@ -152,6 +160,8 @@ class ConsoleUI(threading.Thread):
self.showMessage(getMessage("commandlist-notification/pause"), True)
self.showMessage(getMessage("commandlist-notification/seek"), True)
self.showMessage(getMessage("commandlist-notification/help"), True)
self.showMessage(getMessage("commandlist-notification/create"), True)
self.showMessage(getMessage("commandlist-notification/identify"), True)
self.showMessage(getMessage("syncplay-version-notification").format(syncplay.version), True)
self.showMessage(getMessage("more-info-notification").format(syncplay.projectURL), True)