Add --max-chat-message-length server option to allow custom chat message limits

This commit is contained in:
Etoh 2018-01-21 13:25:07 +00:00
parent 87d9498d9e
commit 406e9a4af5
6 changed files with 9 additions and 4 deletions

View File

@ -1,4 +1,4 @@
version = '1.5.2' version = '1.5.2'
milestone = 'Yoitsu' milestone = 'Yoitsu'
release_number = '55' release_number = '56'
projectURL = 'http://syncplay.pl/' projectURL = 'http://syncplay.pl/'

View File

@ -431,6 +431,7 @@ de = {
"server-disable-ready-argument" : u"Bereitschaftsfeature deaktivieren", "server-disable-ready-argument" : u"Bereitschaftsfeature deaktivieren",
"server-motd-argument": u"Pfad zur Datei, von der die Nachricht des Tages geladen wird", "server-motd-argument": u"Pfad zur Datei, von der die Nachricht des Tages geladen wird",
"server-chat-argument" : "Should chat be disabled?", # TODO: Translate "server-chat-argument" : "Should chat be disabled?", # TODO: Translate
"server-chat-maxchars-argument": u"Maximum number of characters in a chat message (default is {})", # TODO: Translate
"server-messed-up-motd-unescaped-placeholders": u"Die Nachricht des Tages hat unmaskierte Platzhalter. Alle $-Zeichen sollten verdoppelt werden ($$).", "server-messed-up-motd-unescaped-placeholders": u"Die Nachricht des Tages hat unmaskierte Platzhalter. Alle $-Zeichen sollten verdoppelt werden ($$).",
"server-messed-up-motd-too-long": u"Die Nachricht des Tages ist zu lang - Maximal {} Zeichen, aktuell {}.", "server-messed-up-motd-too-long": u"Die Nachricht des Tages ist zu lang - Maximal {} Zeichen, aktuell {}.",

View File

@ -435,6 +435,7 @@ en = {
"server-disable-ready-argument" : u"disable readiness feature", "server-disable-ready-argument" : u"disable readiness feature",
"server-motd-argument": "path to file from which motd will be fetched", "server-motd-argument": "path to file from which motd will be fetched",
"server-chat-argument" : "Should chat be disabled?", "server-chat-argument" : "Should chat be disabled?",
"server-chat-maxchars-argument" : u"Maximum number of characters in a chat message (default is {})", # Default number of characters
"server-messed-up-motd-unescaped-placeholders": "Message of the Day has unescaped placeholders. All $ signs should be doubled ($$).", "server-messed-up-motd-unescaped-placeholders": "Message of the Day has unescaped placeholders. All $ signs should be doubled ($$).",
"server-messed-up-motd-too-long": u"Message of the Day is too long - maximum of {} chars, {} given.", "server-messed-up-motd-too-long": u"Message of the Day is too long - maximum of {} chars, {} given.",

View File

@ -437,6 +437,7 @@ ru = {
"server-disable-ready-argument" : u"отключить статусы готов/не готов", "server-disable-ready-argument" : u"отключить статусы готов/не готов",
"server-motd-argument" : u"путь к файлу, из которого будет извлекаться MOTD-сообщение", "server-motd-argument" : u"путь к файлу, из которого будет извлекаться MOTD-сообщение",
"server-chat-argument" : "Should chat be disabled?", # TODO: Translate "server-chat-argument" : "Should chat be disabled?", # TODO: Translate
"server-chat-maxchars-argument": u"Maximum number of characters in a chat message (default is {})", # TODO: Translate
"server-messed-up-motd-unescaped-placeholders" : u"MOTD-сообщение содержит неэкранированные спец.символы. Все знаки $ должны быть продублированы ($$).", "server-messed-up-motd-unescaped-placeholders" : u"MOTD-сообщение содержит неэкранированные спец.символы. Все знаки $ должны быть продублированы ($$).",
"server-messed-up-motd-too-long" : u"MOTD-сообщение слишком длинное: максимальная длина - {} символ(ов), текущая длина - {} символ(ов).", "server-messed-up-motd-too-long" : u"MOTD-сообщение слишком длинное: максимальная длина - {} символ(ов), текущая длина - {} символ(ов).",

View File

@ -14,7 +14,7 @@ import argparse
from syncplay.utils import RoomPasswordProvider, NotControlledRoom, RandomStringGenerator, meetsMinVersion, playlistIsValid, truncateText from syncplay.utils import RoomPasswordProvider, NotControlledRoom, RandomStringGenerator, meetsMinVersion, playlistIsValid, truncateText
class SyncFactory(Factory): class SyncFactory(Factory):
def __init__(self, password='', motdFilePath=None, isolateRooms=False, salt=None, disableReady=False,disableChat=False): def __init__(self, password='', motdFilePath=None, isolateRooms=False, salt=None, disableReady=False,disableChat=False, maxChatMessageLength=constants.MAX_CHAT_MESSAGE_LENGTH):
self.isolateRooms = isolateRooms self.isolateRooms = isolateRooms
print getMessage("welcome-server-notification").format(syncplay.version) print getMessage("welcome-server-notification").format(syncplay.version)
if password: if password:
@ -27,6 +27,7 @@ class SyncFactory(Factory):
self._motdFilePath = motdFilePath self._motdFilePath = motdFilePath
self.disableReady = disableReady self.disableReady = disableReady
self.disableChat = disableChat self.disableChat = disableChat
self.maxChatMessageLength = maxChatMessageLength
if not isolateRooms: if not isolateRooms:
self._roomManager = RoomManager() self._roomManager = RoomManager()
else: else:
@ -48,7 +49,7 @@ class SyncFactory(Factory):
features["readiness"] = not self.disableReady features["readiness"] = not self.disableReady
features["managedRooms"] = True features["managedRooms"] = True
features["chat"] = not self.disableChat features["chat"] = not self.disableChat
features["maxChatMessageLength"] = constants.MAX_CHAT_MESSAGE_LENGTH features["maxChatMessageLength"] = self.maxChatMessageLength
features["maxUsernameLength"] = constants.MAX_USERNAME_LENGTH features["maxUsernameLength"] = constants.MAX_USERNAME_LENGTH
features["maxRoomNameLength"] = constants.MAX_ROOM_NAME_LENGTH features["maxRoomNameLength"] = constants.MAX_ROOM_NAME_LENGTH
features["maxFilenameLength"] = constants.MAX_FILENAME_LENGTH features["maxFilenameLength"] = constants.MAX_FILENAME_LENGTH
@ -547,3 +548,4 @@ class ConfigurationGetter(object):
self._argparser.add_argument('--disable-chat', action='store_true', help=getMessage("server-chat-argument")) self._argparser.add_argument('--disable-chat', action='store_true', help=getMessage("server-chat-argument"))
self._argparser.add_argument('--salt', metavar='salt', type=str, nargs='?', help=getMessage("server-salt-argument")) self._argparser.add_argument('--salt', metavar='salt', type=str, nargs='?', help=getMessage("server-salt-argument"))
self._argparser.add_argument('--motd-file', metavar='file', type=str, nargs='?', help=getMessage("server-motd-argument")) self._argparser.add_argument('--motd-file', metavar='file', type=str, nargs='?', help=getMessage("server-motd-argument"))
self._argparser.add_argument('--max-chat-message-length', metavar='maxChatMessageLength', type=int, nargs='?',help=getMessage("server-chat-maxchars-argument").format(constants.MAX_CHAT_MESSAGE_LENGTH))

View File

@ -19,5 +19,5 @@ from syncplay.server import SyncFactory, ConfigurationGetter
if __name__ == '__main__': if __name__ == '__main__':
argsGetter = ConfigurationGetter() argsGetter = ConfigurationGetter()
args = argsGetter.getConfiguration() args = argsGetter.getConfiguration()
reactor.listenTCP(int(args.port), SyncFactory(args.password, args.motd_file, args.isolate_rooms, args.salt, args.disable_ready,args.disable_chat)) reactor.listenTCP(int(args.port), SyncFactory(args.password, args.motd_file, args.isolate_rooms, args.salt, args.disable_ready,args.disable_chat, args.max_chat_message_length))
reactor.run() reactor.run()