s4-python: added --debuglevel to our python scripts
authorAndrew Tridgell <tridge@samba.org>
Fri, 2 Apr 2010 07:31:30 +0000 (18:31 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 2 Apr 2010 07:52:29 +0000 (18:52 +1100)
very useful for debugging our cPython extensions, such as dcerpc
modules

source4/scripting/python/samba/getopt.py

index ba7a9ebb2e81471f69daedea1b82b17ade23a027..62e16f7c7533d033fe0c43d8809343d9892afee0 100644 (file)
@@ -22,6 +22,7 @@
 import optparse
 from credentials import Credentials, DONT_USE_KERBEROS, MUST_USE_KERBEROS
 from hostconfig import Hostconfig
+import glue
 
 __docformat__ = "restructuredText"
 
@@ -32,7 +33,11 @@ class SambaOptions(optparse.OptionGroup):
         self.add_option("-s", "--configfile", action="callback",
                         type=str, metavar="FILE", help="Configuration file",
                         callback=self._load_configfile)
+        self.add_option("-d", "--debuglevel", action="callback",
+                        type=int, metavar="DEBUGLEVEL", help="debug level",
+                        callback=self._set_debuglevel)
         self._configfile = None
+        self._debuglevel = None
 
     def get_loadparm_path(self):
         """Return the path to the smb.conf file specified on the command line.  """
@@ -41,6 +46,9 @@ class SambaOptions(optparse.OptionGroup):
     def _load_configfile(self, option, opt_str, arg, parser):
         self._configfile = arg
 
+    def _set_debuglevel(self, option, opt_str, arg, parser):
+        self._debuglevel = arg
+
     def get_loadparm(self):
         """Return a loadparm object with data specified on the command line.  """
         import os, param
@@ -51,6 +59,8 @@ class SambaOptions(optparse.OptionGroup):
             lp.load(os.getenv("SMB_CONF_PATH"))
         else:
             lp.load_default()
+        if self._debuglevel:
+            glue.set_debug_level(self._debuglevel)
         return lp
 
     def get_hostconfig(self):