Browse Source

removed dysfunctional unit tests and changed raised exceptions to better fitting class names

Natenom/support-murmur-13-1446181288462
Michael Ziegler 15 years ago
parent
commit
0e2f58c35e
  1. 11
      pyweb/mumble/MumbleCtlDbus.py
  2. 8
      pyweb/mumble/MumbleCtlIce.py
  3. 27
      pyweb/mumble/mctl.py
  4. 7
      pyweb/mumble/models.py

11
pyweb/mumble/MumbleCtlDbus.py

@ -19,14 +19,14 @@ from PIL import Image
from struct import pack, unpack
from zlib import compress, decompress
from mctl import MumbleCtlBase
from mctl import MumbleCtlBase
import dbus
class MumbleCtlDbus(MumbleCtlBase):
method = "DBus";
def __init__( self, connstring ):
# Prior to saving the model, connect to murmur via dbus and update its settings.
self.dbus_base = connstring;
self.meta = self._getDbusMeta();
@ -34,10 +34,8 @@ class MumbleCtlDbus(MumbleCtlBase):
return dbus.Interface( dbus.SystemBus().get_object( self.dbus_base, '/' ), 'net.sourceforge.mumble.Meta' );
def _getDbusServerObject( self, srvid):
"Connects to DBus and returns an mmServer object representing this Murmur instance."
if srvid not in self.getBootedServers():
raise Exception, 'No murmur process with the given server ID (%d) is running and attached to system dbus under %s.' % ( srvid, self.meta );
raise SystemError, 'No murmur process with the given server ID (%d) is running and attached to system dbus under %s.' % ( srvid, self.meta );
return dbus.Interface( dbus.SystemBus().get_object( self.dbus_base, '/%d' % srvid ), 'net.sourceforge.mumble.Murmur' );
@ -104,7 +102,6 @@ class MumbleCtlDbus(MumbleCtlBase):
def setRegistration(self, srvid, mumbleid, name, email, password):
return MumbleCtlDbus.converDbusTypeToNative(self._getDbusServerObject(srvid).setRegistration(dbus.Int32(mumbleid), name, email, password))
#return MumbleCtlDbus.converDbusTypeToNative(self._getDbusServerObject(srvid).setRegistration(dbus.Int32(mumbleid), dbus.String(name), dbus.String(email), dbus.String(password)))
def getTexture(self, srvid, mumbleid):
texture = self._getDbusServerObject(srvid).getTexture(dbus.Int32(mumbleid));
@ -170,3 +167,5 @@ class MumbleCtlDbus(MumbleCtlBase):
elif data.__class__ is dbus.Byte:
ret = byte(data)
return ret

8
pyweb/mumble/MumbleCtlIce.py

@ -22,14 +22,14 @@ from zlib import compress, decompress
from django.conf import settings
from mctl import MumbleCtlBase
from mctl import MumbleCtlBase
import Ice
def MumbleCtlIce( connstring ):
version = settings.SLICE_VERSION;
slice = settings.SLICE;
if not slice:
slice = join(
@ -106,7 +106,7 @@ class MumbleCtlIce_118(MumbleCtlBase):
def getPlayers(self, srvid):
users = self._getIceServerObject(srvid).getPlayers()
ret = []
for x in users:
user = users[x]
ret.append([user.session, user.mute, user.deaf, user.suppressed, user.selfMute, user.selfDeaf, user.channel, user.playerid, self.setUnicodeFlag(user.name), user.onlinesecs, user.bytespersec])
@ -250,7 +250,7 @@ class MumbleCtlIce_118(MumbleCtlBase):
ret[MumbleCtlIce_118.setUnicodeFlag(key)] = MumbleCtlIce_118.setUnicodeFlag(data[key])
else:
ret = unicode(data, 'utf-8')
return ret

27
pyweb/mumble/mctl.py

@ -15,10 +15,6 @@
* GNU General Public License for more details.
"""
#zope.interface is good but don't standard interface library
#abc is better but 2.6 higher.
#import abc
import re
class MumbleCtlBase ():
@ -106,26 +102,3 @@ class MumbleCtlBase ():
if __name__ == "__main__":
import sys
from MumbleCtlIce import MumbleCtlIce
from MumbleCtlDbus import MumbleCtlDbus
x = int(sys.argv[1])
dbusCtl = MumbleCtlDbus()
iceCtl = MumbleCtlIce()
print "equal test ---"
print "getBootedServers [%s]" % (dbusCtl.getBootedServers() == iceCtl.getBootedServers())
print "getChannels [%s]" % (dbusCtl.getChannels(x) == iceCtl.getChannels(x))
print "getPlayers [%s]" % (dbusCtl.getPlayers(x) == iceCtl.getPlayers(x))
print "getACL(x, 0) [%s]" % (dbusCtl.getACL(x, 0) == iceCtl.getACL(x, 0))
print "getAllServers [%s]" % (dbusCtl.getAllServers() == iceCtl.getAllServers())
print "getDefaultConf [%s]" % (dbusCtl.getDefaultConf() == iceCtl.getDefaultConf())
print "getAllConf(x) [%s]" % (dbusCtl.getAllConf(x) == iceCtl.getAllConf(x))
print dbusCtl.getRegisteredPlayers(x)
#print dbusCtl.getRegisteredPlayers(x)[3][1]
print iceCtl.getRegisteredPlayers(x)
#print iceCtl.getRegisteredPlayers(x)[3][1]
print "getRegisteredPlayers(x) [%s]" % (dbusCtl.getRegisteredPlayers(x) == iceCtl.getRegisteredPlayers(x))
#print "getTexture(2, 30) [%s]" % (dbusCtl.getTexture(2, 30) == iceCtl.getTexture(2, 30))
#print dbusCtl.getTexture(2, 30).__class__

7
pyweb/mumble/models.py

@ -144,7 +144,6 @@ class Mumble( models.Model ):
# Deletion handler
def deleteServer( self ):
# Unregister this player in Murmur via ctroller.
self.ctl.deleteServer(self.srvid)
@staticmethod
@ -152,7 +151,7 @@ class Mumble( models.Model ):
kwargs['instance'].deleteServer();
# Channel lists: flat list
# Channel list
def getChannels( self ):
if self._channels is None:
self._channels = {};
@ -291,7 +290,7 @@ class MumbleUser( models.Model ):
acl = mmACL( 0, self.server.ctl.getACL(self.server.srvid, 0) );
if not hasattr( acl, "admingroup" ):
raise ValueError( "The admin group was not found in the ACL's groups list!" );
raise ReferenceError( "The admin group was not found in the ACL's groups list!" );
return self.mumbleid in acl.admingroup['add'];
def setAdmin( self, value ):
@ -300,7 +299,7 @@ class MumbleUser( models.Model ):
acl = mmACL( 0, ctl.getACL(self.server.srvid, 0) );
if not hasattr( acl, "admingroup" ):
raise ValueError( "The admin group was not found in the ACL's groups list!" );
raise ReferenceError( "The admin group was not found in the ACL's groups list!" );
if value != ( self.mumbleid in acl.admingroup['add'] ):
if value:

Loading…
Cancel
Save