diff --git a/htdocs/mumble/style.css b/htdocs/mumble/style.css index c763f05..928ad06 100644 --- a/htdocs/mumble/style.css +++ b/htdocs/mumble/style.css @@ -24,3 +24,17 @@ span.mumble { float:right; } +div.mumble-ext { + padding: 10px; +} + +div.mumble-ext ul { + list-style-type: disc; + padding-left: 20px; +} + +div.mumble-ext fieldset { + border: 1px solid darkblue; + margin-top: 20px; + padding: 10px; +} diff --git a/pyweb/mumble/MumbleCtlDbus.py b/pyweb/mumble/MumbleCtlDbus.py index 57681bf..6942f10 100755 --- a/pyweb/mumble/MumbleCtlDbus.py +++ b/pyweb/mumble/MumbleCtlDbus.py @@ -29,18 +29,21 @@ class MumbleCtlDbus(MumbleCtlBase): # Prior to saving the model, connect to murmur via dbus and update its settings. self.dbus_base = connstring; self.meta = self._getDbusMeta(); - + def _getDbusMeta( self ): 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 ); - + return dbus.Interface( dbus.SystemBus().get_object( self.dbus_base, '/%d' % srvid ), 'net.sourceforge.mumble.Murmur' ); - + + def getVersion( self ): + return MumbleCtlDbus.converDbusTypeToNative( self.meta.getVersion() ) + def getAllConf(self, srvid): return MumbleCtlDbus.converDbusTypeToNative(self.meta.getAllConf(dbus.Int32(srvid))) diff --git a/pyweb/mumble/MumbleCtlIce.py b/pyweb/mumble/MumbleCtlIce.py index 9a10f14..19d070b 100755 --- a/pyweb/mumble/MumbleCtlIce.py +++ b/pyweb/mumble/MumbleCtlIce.py @@ -74,7 +74,10 @@ class MumbleCtlIce_118(MumbleCtlBase): for x in self.meta.getBootedServers(): ret.append(x.id()) return ret - + + def getVersion( self ): + return self.meta.getVersion(); + def getAllServers(self): ret = [] for x in self.meta.getAllServers(): @@ -263,7 +266,7 @@ class MumbleCtlIce_120(MumbleCtlIce_118): for x in chans: chan = chans[x] - ret.append([chan.id, self.setUnicodeFlag(chan.name), chan.parent, chan.links]) + ret.append([chan.id, self.setUnicodeFlag(chan.name), chan.parent, chan.links, chan.description]) return ret diff --git a/pyweb/mumble/mctl.py b/pyweb/mumble/mctl.py index 6a4fee3..be4cd09 100755 --- a/pyweb/mumble/mctl.py +++ b/pyweb/mumble/mctl.py @@ -27,6 +27,9 @@ class MumbleCtlBase (): def getAllConf(self, srvid): pass + def getVersion( self ): + pass + def setConf(self, srvid, key, value): pass diff --git a/pyweb/mumble/mmobjects.py b/pyweb/mumble/mmobjects.py index 30df4ce..5630e90 100755 --- a/pyweb/mumble/mmobjects.py +++ b/pyweb/mumble/mmobjects.py @@ -42,7 +42,15 @@ class mmChannel( object ): self.subchans = list(); self.linked = list(); - (self.chanid, self.name, parent, self.linkedIDs ) = channelObj; + self.chanid = channelObj[0]; + self.name = channelObj[1]; + parent = channelObj[2]; + self.linkedIDs = channelObj[3]; + + if len( channelObj ) == 5: + self.description = channelObj[4]; + else: + self.description = ""; self.parent = parentChan; if self.parent is not None: diff --git a/pyweb/mumble/models.py b/pyweb/mumble/models.py index 1328bec..a973a34 100755 --- a/pyweb/mumble/models.py +++ b/pyweb/mumble/models.py @@ -217,6 +217,8 @@ class Mumble( models.Model ): return "mumble://%s%s/" % ( userstr, self.addr ); connecturl = property( getURL, None ); + + version = property( lambda self: self.ctl.getVersion(), None ); diff --git a/template/index.htm b/template/index.htm index dcfbc1e..5271b38 100644 --- a/template/index.htm +++ b/template/index.htm @@ -1,68 +1,68 @@ - -
-
You can upload an image that you would like to use as your user texture here.
@@ -57,7 +70,7 @@
{% endif %}
{% if CurrentUserIsAdmin %}
-