summaryrefslogtreecommitdiffstats
path: root/source4/scripting/python/samba/getopt.py
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-02-09 20:06:54 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-02-09 20:06:54 +0100
commitec106a14216ee034b7e04c177c89703e63dfd107 (patch)
tree59c56cd663ee3dc03d0ce63bf4405ee87c14834a /source4/scripting/python/samba/getopt.py
parent4075a2ba982ea56ff925e0a33839f0760fd71911 (diff)
parent1a2544a24c064e9eecb973439ccd0e7126e06e77 (diff)
downloadsamba-ec106a14216ee034b7e04c177c89703e63dfd107.tar.gz
samba-ec106a14216ee034b7e04c177c89703e63dfd107.tar.xz
samba-ec106a14216ee034b7e04c177c89703e63dfd107.zip
Merge branch 'v4-0-trivial' into v4-0-python
(This used to be commit b874f07175ae38a041f53f0e4ac6a4050dcefeae)
Diffstat (limited to 'source4/scripting/python/samba/getopt.py')
-rw-r--r--source4/scripting/python/samba/getopt.py26
1 files changed, 24 insertions, 2 deletions
diff --git a/source4/scripting/python/samba/getopt.py b/source4/scripting/python/samba/getopt.py
index a087974a698..088a5acf6fc 100644
--- a/source4/scripting/python/samba/getopt.py
+++ b/source4/scripting/python/samba/getopt.py
@@ -23,9 +23,25 @@ from credentials import Credentials
class SambaOptions(optparse.OptionGroup):
def __init__(self, parser):
optparse.OptionGroup.__init__(self, parser, "Samba Common Options")
- self.add_option("-s", "--configfile", type="string", metavar="FILE",
- help="Configuration file")
+ self.add_option("-s", "--configfile", action="callback",
+ type=str, metavar="FILE", help="Configuration file",
+ callback=self._load_configfile)
+ self._configfile = None
+ def get_loadparm_path(self):
+ return self._configfile
+
+ def _load_configfile(self, option, opt_str, arg, parser):
+ self._configfile = arg
+
+ def get_loadparm(self):
+ import param
+ lp = param.LoadParm()
+ if self._configfile is None:
+ lp.load_default()
+ else:
+ lp.load(self._configfile)
+ return lp
class VersionOptions(optparse.OptionGroup):
def __init__(self, parser):
@@ -34,6 +50,7 @@ class VersionOptions(optparse.OptionGroup):
class CredentialsOptions(optparse.OptionGroup):
def __init__(self, parser):
+ self.no_pass = False
optparse.OptionGroup.__init__(self, parser, "Credentials Options")
self.add_option("--simple-bind-dn", metavar="DN", action="callback",
callback=self._set_simple_bind_dn, type=str,
@@ -46,6 +63,8 @@ class CredentialsOptions(optparse.OptionGroup):
self.add_option("-W", "--workgroup", metavar="WORKGROUP",
action="callback", type=str,
help="Workgroup", callback=self._parse_workgroup)
+ self.add_option("-N", "--no-pass", action="store_true",
+ help="Don't ask for a password")
self.creds = Credentials()
def _parse_username(self, option, opt_str, arg, parser):
@@ -61,4 +80,7 @@ class CredentialsOptions(optparse.OptionGroup):
self.creds.set_bind_dn(arg)
def get_credentials(self):
+ self.creds.guess()
+ if not self.no_pass:
+ self.creds.set_cmdline_callbacks()
return self.creds