From 9e1ef61b34b7a4ec63d5bf58e50e64af16a24c43 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 13 Oct 2011 23:36:10 +0200 Subject: samba-tool: Move main command implementation to samba.netcmd.main, so it is accessible by the testsuite. --- source4/scripting/bin/samba-tool | 78 ++++++----------------- source4/scripting/python/samba/netcmd/__init__.py | 2 +- source4/scripting/python/samba/netcmd/main.py | 60 +++++++++++++++++ 3 files changed, 79 insertions(+), 61 deletions(-) create mode 100644 source4/scripting/python/samba/netcmd/main.py (limited to 'source4/scripting') diff --git a/source4/scripting/bin/samba-tool b/source4/scripting/bin/samba-tool index 9f06e8daae..c4ea814166 100755 --- a/source4/scripting/bin/samba-tool +++ b/source4/scripting/bin/samba-tool @@ -23,63 +23,21 @@ import sys # Find right direction when running from source tree sys.path.insert(0, "bin/python") -from samba import netcmd -from samba.netcmd import SuperCommand -from samba.netcmd.dbcheck import cmd_dbcheck -from samba.netcmd.delegation import cmd_delegation -from samba.netcmd.domain import cmd_domain -from samba.netcmd.drs import cmd_drs -from samba.netcmd.dsacl import cmd_dsacl -from samba.netcmd.fsmo import cmd_fsmo -from samba.netcmd.gpo import cmd_gpo -from samba.netcmd.group import cmd_group -from samba.netcmd.ldapcmp import cmd_ldapcmp -from samba.netcmd.ntacl import cmd_ntacl -from samba.netcmd.rodc import cmd_rodc -from samba.netcmd.spn import cmd_spn -from samba.netcmd.testparm import cmd_testparm -from samba.netcmd.time import cmd_time -from samba.netcmd.user import cmd_user -from samba.netcmd.vampire import cmd_vampire - - -class cmd_sambatool(SuperCommand): - """samba-tool SuperCommand""" - - subcommands = {} - subcommands["dbcheck"] = cmd_dbcheck() - subcommands["delegation"] = cmd_delegation() - subcommands["domain"] = cmd_domain() - subcommands["drs"] = cmd_drs() - subcommands["dsacl"] = cmd_dsacl() - subcommands["fsmo"] = cmd_fsmo() - subcommands["gpo"] = cmd_gpo() - subcommands["group"] = cmd_group() - subcommands["ldapcmp"] = cmd_ldapcmp() - subcommands["ntacl"] = cmd_ntacl() - subcommands["rodc"] = cmd_rodc() - subcommands["spn"] = cmd_spn() - subcommands["testparm"] = cmd_testparm() - subcommands["time"] = cmd_time() - subcommands["user"] = cmd_user() - subcommands["vampire"] = cmd_vampire() - - -if __name__ == '__main__': - cmd = cmd_sambatool() - subcommand = None - args = () - - if len(sys.argv) > 1: - subcommand = sys.argv[1] - if len(sys.argv) > 2: - args = sys.argv[2:] - - try: - retval = cmd._run("samba-tool", subcommand, *args) - except SystemExit, e: - retval = -1 - except Exception, e: - cmd.show_command_error(e) - retval = 1 - sys.exit(retval) +from samba.netcmd.main import cmd_sambatool +cmd = cmd_sambatool() +subcommand = None +args = () + +if len(sys.argv) > 1: + subcommand = sys.argv[1] + if len(sys.argv) > 2: + args = sys.argv[2:] + +try: + retval = cmd._run("samba-tool", subcommand, *args) +except SystemExit, e: + retval = -1 +except Exception, e: + cmd.show_command_error(e) + retval = 1 +sys.exit(retval) diff --git a/source4/scripting/python/samba/netcmd/__init__.py b/source4/scripting/python/samba/netcmd/__init__.py index 4d40b69d88..831ac6ba57 100644 --- a/source4/scripting/python/samba/netcmd/__init__.py +++ b/source4/scripting/python/samba/netcmd/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # Unix SMB/CIFS implementation. -# Copyright (C) Jelmer Vernooij 2009 +# Copyright (C) Jelmer Vernooij 2009-2011 # Copyright (C) Theresa Halloran 2011 # Copyright (C) Giampaolo Lauria 2011 # diff --git a/source4/scripting/python/samba/netcmd/main.py b/source4/scripting/python/samba/netcmd/main.py new file mode 100644 index 0000000000..657963208b --- /dev/null +++ b/source4/scripting/python/samba/netcmd/main.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python + +# Unix SMB/CIFS implementation. +# Copyright (C) Jelmer Vernooij 2011 +# +# 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; either version 3 of the License, 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +"""The main samba-tool command implementation.""" + +from samba.netcmd import SuperCommand +from samba.netcmd.dbcheck import cmd_dbcheck +from samba.netcmd.delegation import cmd_delegation +from samba.netcmd.domain import cmd_domain +from samba.netcmd.drs import cmd_drs +from samba.netcmd.dsacl import cmd_dsacl +from samba.netcmd.fsmo import cmd_fsmo +from samba.netcmd.gpo import cmd_gpo +from samba.netcmd.group import cmd_group +from samba.netcmd.ldapcmp import cmd_ldapcmp +from samba.netcmd.ntacl import cmd_ntacl +from samba.netcmd.rodc import cmd_rodc +from samba.netcmd.spn import cmd_spn +from samba.netcmd.testparm import cmd_testparm +from samba.netcmd.time import cmd_time +from samba.netcmd.user import cmd_user +from samba.netcmd.vampire import cmd_vampire + + +class cmd_sambatool(SuperCommand): + """Main samba administration tool.""" + + subcommands = {} + subcommands["dbcheck"] = cmd_dbcheck() + subcommands["delegation"] = cmd_delegation() + subcommands["domain"] = cmd_domain() + subcommands["drs"] = cmd_drs() + subcommands["dsacl"] = cmd_dsacl() + subcommands["fsmo"] = cmd_fsmo() + subcommands["gpo"] = cmd_gpo() + subcommands["group"] = cmd_group() + subcommands["ldapcmp"] = cmd_ldapcmp() + subcommands["ntacl"] = cmd_ntacl() + subcommands["rodc"] = cmd_rodc() + subcommands["spn"] = cmd_spn() + subcommands["testparm"] = cmd_testparm() + subcommands["time"] = cmd_time() + subcommands["user"] = cmd_user() + subcommands["vampire"] = cmd_vampire() -- cgit