diff --git a/pyweb/mumble/MumbleCtlDbus.py b/pyweb/mumble/MumbleCtlDbus.py index 999362b..371a434 100755 --- a/pyweb/mumble/MumbleCtlDbus.py +++ b/pyweb/mumble/MumbleCtlDbus.py @@ -84,8 +84,8 @@ class MumbleCtlDbus(MumbleCtlBase): def getPlayers(self, srvid): return MumbleCtlDbus.converDbusTypeToNative(self._getDbusServerObject(srvid).getPlayers()) - def getRegisteredPlayers(self, srvid): - return MumbleCtlDbus.converDbusTypeToNative(self._getDbusServerObject(srvid).getRegisteredPlayers('')) + def getRegisteredPlayers(self, srvid, filter = ''): + return MumbleCtlDbus.converDbusTypeToNative(self._getDbusServerObject(srvid).getRegisteredPlayers( filter ) ) def getACL(self, srvid, identifier): return MumbleCtlDbus.converDbusTypeToNative(self._getDbusServerObject(srvid).getACL(identifier)) diff --git a/pyweb/mumble/MumbleCtlIce.py b/pyweb/mumble/MumbleCtlIce.py index 3a19e80..fc32f0f 100755 --- a/pyweb/mumble/MumbleCtlIce.py +++ b/pyweb/mumble/MumbleCtlIce.py @@ -84,8 +84,8 @@ class MumbleCtlIce_118(MumbleCtlBase): ret.append(x.id()) return ret - def getRegisteredPlayers(self, srvid): - users = self._getIceServerObject(srvid).getRegisteredPlayers('') + def getRegisteredPlayers(self, srvid, filter = ''): + users = self._getIceServerObject(srvid).getRegisteredPlayers( filter ) ret = [] for user in users: @@ -260,8 +260,8 @@ class MumbleCtlIce_118(MumbleCtlBase): class MumbleCtlIce_120(MumbleCtlIce_118): - def getRegisteredPlayers(self, srvid): - users = self._getIceServerObject(srvid).getRegisteredUsers('') + def getRegisteredPlayers(self, srvid, filter = ''): + users = self._getIceServerObject(srvid).getRegisteredUsers(filter) ret = [] for user in users: diff --git a/pyweb/mumble/mctl.py b/pyweb/mumble/mctl.py index be4cd09..6a744f7 100755 --- a/pyweb/mumble/mctl.py +++ b/pyweb/mumble/mctl.py @@ -63,7 +63,7 @@ class MumbleCtlBase (): def getPlayers(self, srvid): pass - def getRegisteredPlayers(self, srvid): + def getRegisteredPlayers(self, srvid, filter): pass def getChannels(self, srvid): diff --git a/pyweb/mumble/models.py b/pyweb/mumble/models.py index b327472..bfbb52f 100755 --- a/pyweb/mumble/models.py +++ b/pyweb/mumble/models.py @@ -251,7 +251,9 @@ class MumbleUser( models.Model ): if self.id is None: # This is a new user record, so Murmur doesn't know about it yet - self.mumbleid = ctl.registerPlayer(self.server.srvid, self.name); + if len( ctl.getRegisteredPlayers( self.server.srvid, self.name ) ) > 0: + raise ValueError( "Another player already registered that name." ); + self.mumbleid = ctl.registerPlayer( self.server.srvid, self.name ); # Update user's registration if self.password: