diff options
author | Matthieu Patou <mat@matws.net> | 2011-06-19 23:09:59 +0400 |
---|---|---|
committer | Matthieu Patou <mat@samba.org> | 2011-06-19 23:21:09 +0200 |
commit | 9c94943d26d1076b0ef196698d7d0d2e3b0b80e4 (patch) | |
tree | ad0ac5e96f6590e1665cabdfce4b967005b28bd7 /source4 | |
parent | bc549575dd0f80089dcaefcefeb4211c3771b8c6 (diff) | |
download | samba-9c94943d26d1076b0ef196698d7d0d2e3b0b80e4.tar.gz samba-9c94943d26d1076b0ef196698d7d0d2e3b0b80e4.tar.bz2 samba-9c94943d26d1076b0ef196698d7d0d2e3b0b80e4.zip |
s4-sambatool: extract the confirm function in a separte module for reuse
Diffstat (limited to 'source4')
-rw-r--r-- | source4/scripting/python/samba/common.py | 33 | ||||
-rw-r--r-- | source4/scripting/python/samba/netcmd/dbcheck.py | 13 |
2 files changed, 36 insertions, 10 deletions
diff --git a/source4/scripting/python/samba/common.py b/source4/scripting/python/samba/common.py new file mode 100644 index 0000000000..a2a4962797 --- /dev/null +++ b/source4/scripting/python/samba/common.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# +# Samba common functions +# +# Copyright (C) Matthieu Patou <mat@matws.net> +# +# 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 <http://www.gnu.org/licenses/>. +# + +def confirm(msg, forced = False): + """confirm an action with the user + :param msg: A string to print to the user + :param forced: Are the answer forced + """ + if forced: + print("%s [YES]" % msg) + return True + + v = raw_input(msg + ' [y/N] ') + return v.upper() in ['Y', 'YES'] + + diff --git a/source4/scripting/python/samba/netcmd/dbcheck.py b/source4/scripting/python/samba/netcmd/dbcheck.py index 5f75c3ee6c..f28f9c6bbf 100644 --- a/source4/scripting/python/samba/netcmd/dbcheck.py +++ b/source4/scripting/python/samba/netcmd/dbcheck.py @@ -20,6 +20,7 @@ import ldb, sys import samba.getopt as options +from samba.common import confirm from samba.auth import system_session from samba.samdb import SamDB from samba.netcmd import ( @@ -28,14 +29,6 @@ from samba.netcmd import ( Option ) -def confirm(self, msg): - '''confirm an action with the user''' - if self.yes: - print("%s [YES]" % msg) - return True - v = raw_input(msg + ' [y/N] ') - return v.upper() in ['Y', 'YES'] - class cmd_dbcheck(Command): """check local AD database for errors""" synopsis = "dbcheck <DN> [options]" @@ -98,7 +91,7 @@ class cmd_dbcheck(Command): print("ERROR: Empty attribute %s in %s" % (attrname, dn)) if not self.fix: return - if not confirm(self, 'Remove empty attribute %s from %s?' % (attrname, dn)): + if not confirm('Remove empty attribute %s from %s?' % (attrname, dn), self.yes): print("Not fixing empty attribute %s" % attrname) return @@ -156,7 +149,7 @@ class cmd_dbcheck(Command): mod_list.append((val, normalised[0])) if not self.fix: return - if not self.confirm(self, 'Fix normalisation for %s from %s?' % (attrname, dn)): + if not confirm('Fix normalisation for %s from %s?' % (attrname, dn), self.yes): print("Not fixing attribute %s" % attrname) return |