self._lp = s3param.get_context()
+class HostOptions(optparse.OptionGroup):
+ """Command line options for connecting to target host or database."""
+
+ def __init__(self, parser):
+ super().__init__(parser, "Host Options")
+
+ self.H = None
+ self.add_option("-H", "--URL",
+ help="LDB URL for database or target server",
+ type=str, metavar="URL", action="callback",
+ callback=self._set_H, dest="H")
+
+ def _set_H(self, option, opt_str, arg, parser):
+ parser.values.H = self.H = arg
+
+
class VersionOptions(optparse.OptionGroup):
"""Command line option for printing Samba version."""
def __init__(self, parser):
parser = OptionParser()
sambaopts = options.SambaOptions(parser)
credopts = options.CredentialsOptions(parser)
- parser.add_option("-H", "--URL",
- help="LDB URL for database or target server",
- type=str, metavar="URL", dest="H")
- opts, args = parser.parse_args(list(argv))
+ hostopts = options.HostOptions(parser)
+ parser.parse_args(list(argv))
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp, fallback_machine=True)
- return SamDB(url=opts.H, session_info=system_session(),
+ return SamDB(url=hostopts.H, session_info=system_session(),
credentials=creds, lp=lp)
@classmethod