1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-14 20:23:54 +03:00

python: Add convenience function for getting command line loadparm context

and default to using system smb.conf.
This commit is contained in:
Jelmer Vernooij
2008-01-23 23:33:36 +01:00
parent ffd793bbde
commit b3afde0f00
6 changed files with 35 additions and 22 deletions

View File

@@ -12,7 +12,8 @@ import optparse
import samba.getopt as options
parser = optparse.OptionParser("%s <BINDING> [path]" % sys.argv[0])
parser.add_option_group(options.SambaOptions(parser))
sambaopts = options.SambaOptions(parser)
parser.add_option_group(sambaopts)
parser.add_option("--createkey", type="string", metavar="KEYNAME",
help="create a key")
@@ -25,7 +26,7 @@ if len(args) < 1:
binding = args[0]
print "Connecting to " + binding
conn = winreg.winreg(binding, opts.configfile)
conn = winreg.winreg(binding, sambaopts.get_loadparm())
def list_values(key):
(num_values, max_valnamelen, max_valbufsize) = conn.QueryInfoKey(key, winreg.String())[4:8]

View File

@@ -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):