s4-sambatool: extract the confirm function in a separte module for reuse
authorMatthieu Patou <mat@matws.net>
Sun, 19 Jun 2011 19:09:59 +0000 (23:09 +0400)
committerMatthieu Patou <mat@samba.org>
Sun, 19 Jun 2011 21:21:09 +0000 (23:21 +0200)
source4/scripting/python/samba/common.py [new file with mode: 0644]
source4/scripting/python/samba/netcmd/dbcheck.py

diff --git a/source4/scripting/python/samba/common.py b/source4/scripting/python/samba/common.py
new file mode 100644 (file)
index 0000000..a2a4962
--- /dev/null
@@ -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']
+
+
index 5f75c3ee6cb4ae45fe6280e700045e4e8df9b643..f28f9c6bbf65da8f6a31e8896038913a56dcaae0 100644 (file)
@@ -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