summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2011-06-19 23:09:59 +0400
committerMatthieu Patou <mat@samba.org>2011-06-19 23:21:09 +0200
commit9c94943d26d1076b0ef196698d7d0d2e3b0b80e4 (patch)
treead0ac5e96f6590e1665cabdfce4b967005b28bd7
parentbc549575dd0f80089dcaefcefeb4211c3771b8c6 (diff)
downloadsamba-9c94943d26d1076b0ef196698d7d0d2e3b0b80e4.tar.gz
samba-9c94943d26d1076b0ef196698d7d0d2e3b0b80e4.tar.bz2
samba-9c94943d26d1076b0ef196698d7d0d2e3b0b80e4.zip
s4-sambatool: extract the confirm function in a separte module for reuse
-rw-r--r--source4/scripting/python/samba/common.py33
-rw-r--r--source4/scripting/python/samba/netcmd/dbcheck.py13
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