Send client version when server announces client joined server

This commit is contained in:
Et0h 2016-07-14 17:57:33 +01:00
parent e28ffdfb7d
commit 466ac588cd
2 changed files with 8 additions and 2 deletions

View File

@ -326,6 +326,9 @@ class SyncServerProtocol(JSONCommandProtocol):
def meetsMinVersion(self, version):
return self._version >= version
def getVersion(self):
return self._version
def _extractHelloArguments(self, hello):
roomName = None
username = hello["username"] if hello.has_key("username") else None
@ -357,9 +360,9 @@ class SyncServerProtocol(JSONCommandProtocol):
else:
if not self._checkPassword(serverPassword):
return
self._version = version
self._factory.addWatcher(self, username, roomName)
self._logged = True
self._version = version
self.sendHello(version)
def handleChat(self,chatMessage):

View File

@ -106,7 +106,7 @@ class SyncFactory(Factory):
self._roomManager.broadcast(watcher, l)
def sendJoinMessage(self, watcher):
l = lambda w: w.sendSetting(watcher.getName(), watcher.getRoom(), None, {"joined": True}) if w != watcher else None
l = lambda w: w.sendSetting(watcher.getName(), watcher.getRoom(), None, {"joined": True, "version": watcher.getVersion()}) if w != watcher else None
self._roomManager.broadcast(watcher, l)
self._roomManager.broadcastRoom(watcher, lambda w: w.sendSetReady(watcher.getName(), watcher.isReady(), False))
@ -417,6 +417,9 @@ class Watcher(object):
def getName(self):
return self._name
def getVersion(self):
return self._connector.getVersion()
def getFile(self):
return self._file