From 9c94943d26d1076b0ef196698d7d0d2e3b0b80e4 Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Sun, 19 Jun 2011 23:09:59 +0400 Subject: s4-sambatool: extract the confirm function in a separte module for reuse --- source4/scripting/python/samba/common.py | 33 ++++++++++++++++++++++++ source4/scripting/python/samba/netcmd/dbcheck.py | 13 +++------- 2 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 source4/scripting/python/samba/common.py (limited to 'source4/scripting') 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 +# +# 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 . +# + +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 [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 -- cgit