# HG changeset patch # User Ludovic Chabant # Date 1393274147 28800 # Node ID 034a5c2c23a1e9000e852980c2efd868c3b7fc6b # Parent 2dd7535045eb6acdc71d8f9bf580300d4d380cc0 Ability to debug SQLAlchemy. diff -r 2dd7535045eb -r 034a5c2c23a1 wikked/witch.py --- 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())