From 48b4ca659f569bcc9735c0b759d6a9ecc021126e Mon Sep 17 00:00:00 2001
From: Michael Ziegler
Date: Fri, 19 Jun 2009 21:34:53 +0200
Subject: [PATCH] server info and channel description
---
htdocs/mumble/style.css | 14 ++++
pyweb/mumble/MumbleCtlDbus.py | 11 ++-
pyweb/mumble/MumbleCtlIce.py | 7 +-
pyweb/mumble/mctl.py | 3 +
pyweb/mumble/mmobjects.py | 10 ++-
pyweb/mumble/models.py | 2 +
template/index.htm | 136 +++++++++++++++++-----------------
template/mumble/mumble.htm | 36 +++++++--
8 files changed, 136 insertions(+), 83 deletions(-)
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 @@
-
-
- Mumble Administration
-
-
-
-
-
-
-
-
-
-
-
- {% block HeadTag %}
- {% endblock %}
-
-
-
-
-
-
-
{% block Headline %}{% endblock %}
-
-
-
-
- - Home
- {% if MumbleActive %}
- - Mumble
- {% else %}
- - Mumble
- {% endif %}
- {% if ProfileActive %}
- - Profile
- {% else %}
- - Profile
- {% endif %}
-
-
-
-
-
- {% block LeftColumn %}
- {% endblock %}
-
-
- {% block Content %}
- {% endblock %}
-
-
-
-
-
-
-
-
+
+
+ Mumble Administration
+
+
+
+
+
+
+
+
+
+
+
+ {% block HeadTag %}
+ {% endblock %}
+
+
+
+
+
+
+
{% block Headline %}{% endblock %}
+
+
+
+
+ - Home
+ {% if MumbleActive %}
+ - Mumble
+ {% else %}
+ - Mumble
+ {% endif %}
+ {% if ProfileActive %}
+ - Profile
+ {% else %}
+ - Profile
+ {% endif %}
+
+
+
+
+
+ {% block LeftColumn %}
+ {% endblock %}
+
+
+ {% block Content %}
+ {% endblock %}
+
+
+
+
+
+
+
+
diff --git a/template/mumble/mumble.htm b/template/mumble/mumble.htm
index cd16c5c..ae40d67 100644
--- a/template/mumble/mumble.htm
+++ b/template/mumble/mumble.htm
@@ -16,7 +16,20 @@
-
+
+
+ - Server address: {{ DBaseObject.addr }}:{{ DBaseObject.port }}
+ {% if DBaseObject.url %}
+ - Website: {{ DBaseObject.url|urlize }}
+ {% endif %}
+ - Server version: {{ DBaseObject.version.0 }}.{{ DBaseObject.version.1 }}.{{ DBaseObject.version.2 }}
+
+
+
+
{% if user.is_authenticated %}
Server registration
{% if Registered %}
-
+
User Texture
You can upload an image that you would like to use as your user texture here.
@@ -57,7 +70,7 @@
{% endif %}
{% if CurrentUserIsAdmin %}
-