From 094f364fe172a117fd1cf8ae1855fd72fca8e5b4 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 27 Dec 2007 23:31:42 -0600 Subject: r26614: Fix options parsing for credentials in Python. (This used to be commit 9ef3b7de6baadeb2240ef9d24c55be9dc4cccf1e) --- source4/scripting/python/samba/getopt.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/source4/scripting/python/samba/getopt.py b/source4/scripting/python/samba/getopt.py index 8143dcafdb..3335c55bc6 100644 --- a/source4/scripting/python/samba/getopt.py +++ b/source4/scripting/python/samba/getopt.py @@ -35,12 +35,24 @@ class VersionOptions(optparse.OptionGroup): class CredentialsOptions(optparse.OptionGroup): def __init__(self, parser): optparse.OptionGroup.__init__(self, parser, "Credentials Options") - self.add_option("--simple-bind-dn", type="string", metavar="DN", + self.add_option("--simple-bind-dn", metavar="DN", action="callback", + callback=self.set_simple_bind_dn, type=str, help="DN to use for a simple bind") - self.add_option("--password", type="string", metavar="PASSWORD", - help="Password") + self.add_option("--password", metavar="PASSWORD", action="callback", + help="Password", type=str, callback=self.set_password) + self.add_option("-U", "--username", metavar="USERNAME", + action="callback", type=str, + help="username", callback=self.parse_username) + self.creds = Credentials() + + def parse_username(self, option, opt_str, arg, parser): + self.creds.parse_string(arg) + + def set_password(self, option, opt_str, arg, parser): + self.creds.set_password(arg) + + def set_simple_bind_dn(self, option, opt_str, arg, parser): + self.creds.set_simple_bind_dn(arg) def get_credentials(self): - creds = Credentials() - # FIXME: Update - return creds + return self.creds -- cgit