summaryrefslogtreecommitdiffstats
path: root/pykolab
diff options
context:
space:
mode:
authorJeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>2013-04-17 15:01:47 +0200
committerJeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>2013-04-17 15:01:47 +0200
commit45df636fd79e7f1c909136daef47fbad724b560a (patch)
tree760a560c78123cd976369a9dad295e7d08a534a2 /pykolab
parent0a6d62724aba3145e8bf67e13231bbfbd552ffd8 (diff)
downloadpykolab-45df636fd79e7f1c909136daef47fbad724b560a.tar.gz
Add initial set of WAP commands
Diffstat (limited to 'pykolab')
-rw-r--r--pykolab/Makefile.am4
-rw-r--r--pykolab/cli/wap/__init__.py0
-rw-r--r--pykolab/cli/wap/cmd_system_capabilities.py50
-rw-r--r--pykolab/cli/wap/cmd_user_types_list.py40
4 files changed, 94 insertions, 0 deletions
diff --git a/pykolab/Makefile.am b/pykolab/Makefile.am
index a3488c1..926c5b5 100644
--- a/pykolab/Makefile.am
+++ b/pykolab/Makefile.am
@@ -23,6 +23,10 @@ pykolab_clitelemetrydir = $(pythondir)/$(PACKAGE)/cli/telemetry
pykolab_clitelemetry_PYTHON = \
$(wildcard cli/telemetry/*.py)
+pykolab_cliwapdir = $(pythondir)/$(PACKAGE)/cli/wap
+pykolab_cliwap_PYTHON = \
+ $(wildcard cli/wap/*.py)
+
pykolab_confdir = $(pythondir)/$(PACKAGE)/conf
pykolab_conf_PYTHON = \
conf/defaults.py \
diff --git a/pykolab/cli/wap/__init__.py b/pykolab/cli/wap/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/pykolab/cli/wap/__init__.py
diff --git a/pykolab/cli/wap/cmd_system_capabilities.py b/pykolab/cli/wap/cmd_system_capabilities.py
new file mode 100644
index 0000000..1ea0a27
--- /dev/null
+++ b/pykolab/cli/wap/cmd_system_capabilities.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+# Copyright 2010-2012 Kolab Systems AG (http://www.kolabsys.com)
+#
+# Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen a kolabsys.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 3 or, at your option, any later version
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+import sys
+
+import pykolab
+from pykolab.cli import commands
+
+from pykolab.translate import _
+
+log = pykolab.getLogger('pykolab.cli')
+conf = pykolab.getConf()
+
+def __init__():
+ commands.register('system_capabilities', execute, group='wap', description="Display the system capabilities.")
+
+def execute(*args, **kw):
+ from pykolab import wap_client
+ # Create the authentication object.
+ # TODO: Binds with superuser credentials!
+ wap_client.authenticate()
+ system_capabilities = wap_client.system_capabilities()
+
+ if system_capabilities['count'] < 1:
+ print "No system capabilities"
+ sys.exit(1)
+
+ for domain in system_capabilities['list'].keys():
+ print "Domain capabilities for %s" % (domain)
+
+ domain_capabilities = system_capabilities['list'][domain]
+
+ for service in domain_capabilities['actions'].keys():
+ print " %-15s - %r" % (service, domain_capabilities['actions'][service]['type'])
diff --git a/pykolab/cli/wap/cmd_user_types_list.py b/pykolab/cli/wap/cmd_user_types_list.py
new file mode 100644
index 0000000..5cb5ff0
--- /dev/null
+++ b/pykolab/cli/wap/cmd_user_types_list.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+# Copyright 2010-2012 Kolab Systems AG (http://www.kolabsys.com)
+#
+# Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen a kolabsys.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 3 or, at your option, any later version
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+import pykolab
+from pykolab.cli import commands
+
+from pykolab.translate import _
+
+log = pykolab.getLogger('pykolab.cli')
+conf = pykolab.getConf()
+
+def __init__():
+ commands.register('list_user_types', execute, group='wap', description="List WAP user types.")
+
+def execute(*args, **kw):
+ from pykolab import wap_client
+ # Create the authentication object.
+ # TODO: Binds with superuser credentials!
+ wap_client.authenticate()
+ user_types = wap_client.user_types_list()
+
+ for user_type in user_types['list']:
+ type = user_types['list'][user_type]
+ print "%-15s - %s" % (type['key'], type['description'])