diff options
author | Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> | 2013-05-03 17:59:00 +0200 |
---|---|---|
committer | Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> | 2013-05-03 18:00:23 +0200 |
commit | b1d4465c6eaf6848d67c1af4bcdfe158511ca244 (patch) | |
tree | 7e723c5b610b154c89765ec1f630169b6af0885b /pykolab/cli/cmd_find_domain.py | |
parent | 030c157841e2b8690938995f5ce6bd6c48a82ea5 (diff) | |
download | pykolab-b1d4465c6eaf6848d67c1af4bcdfe158511ca244.tar.gz |
Some initial domain operations for the command-line interface
Diffstat (limited to 'pykolab/cli/cmd_find_domain.py')
-rw-r--r-- | pykolab/cli/cmd_find_domain.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pykolab/cli/cmd_find_domain.py b/pykolab/cli/cmd_find_domain.py new file mode 100644 index 0000000..0486fee --- /dev/null +++ b/pykolab/cli/cmd_find_domain.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +# Copyright 2010-2013 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 commands + +import pykolab + +from pykolab import utils +from pykolab.translate import _ + +log = pykolab.getLogger('pykolab.cli') +conf = pykolab.getConf() + +def __init__(): + commands.register('find_domain', execute, description=description()) + +def description(): + return _("Find a domain.") + +def execute(*args, **kw): + from pykolab import wap_client + + # Use uber-administrative privileges + username = conf.get('ldap', 'bind_dn') + if username == None: + log.error(_("Could not find credentials with sufficient permissions" + \ + "to add a domain name space.")) + + sys.exit(1) + + wap_client.authenticate(username=username) + + dna = conf.get('ldap', 'domain_name_attribute') + + try: + domain = conf.cli_args.pop(0) + except IndexError, errmsg: + domain = utils.ask_question(_("Domain name")) + + wap_client.domain_find(domain) |