changeset 215:034a5c2c23a1

Ability to debug SQLAlchemy.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 24 Feb 2014 12:35:47 -0800
parents 2dd7535045eb
children 062d5e6ddb87
files wikked/witch.py
diffstat 1 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/wikked/witch.py	Mon Feb 24 12:35:18 2014 -0800
+++ b/wikked/witch.py	Mon Feb 24 12:35:47 2014 -0800
@@ -44,6 +44,7 @@
     arg_log = False
     arg_debug = False
     arg_quiet = False
+    arg_debug_sql = False
     for i, arg in enumerate(sys.argv[1:]):
         if not arg.startswith('--'):
             break
@@ -53,6 +54,9 @@
             arg_quiet = True
         elif arg == '--log':
             arg_log = sys.argv[i+1]
+            i += 1
+        elif arg == '--debugsql':
+            arg_debug_sql = True
     if arg_debug and arg_quiet:
         raise Exception("You can't specify both --debug and --quiet.")
     root_logger = logging.getLogger()
@@ -63,6 +67,8 @@
     if arg_log:
         from logging.handlers import FileHandler
         root_logger.addHandler(FileHandler(arg_log))
+    if arg_debug_sql:
+        logging.getLogger('sqlalchemy').setLevel(logging.INFO)
 
     # Setup the parser.
     parser = argparse.ArgumentParser(
@@ -72,6 +78,9 @@
     parser.add_argument('--debug',
             help="Show debug information",
             action='store_true')
+    parser.add_argument('--debugsql',
+            help="Show debug information for SQLAlchemy (advanced)",
+            action='store_true')
     parser.add_argument('--quiet',
             help="Print only important information.",
             action='store_true')
@@ -105,7 +114,7 @@
     wiki.start()
 
     # Run the command!
-    now = datetime.datetime.now()
+    before = datetime.datetime.now()
     try:
         ctx = WitchContext(params, wiki, result)
         exit_code = result.func(ctx)
@@ -118,6 +127,6 @@
         return -1
     finally:
         after = datetime.datetime.now()
-        delta = after - now
+        delta = after - before
         logger.debug("Ran command in %fs" % delta.total_seconds())