From 6dad6938e00fe0053ff09616cde43789af573c3d Mon Sep 17 00:00:00 2001 From: Laurent Bachelier Date: Thu, 25 Oct 2012 03:39:29 +0200 Subject: [PATCH] weboob-debug: ability to prefer a shell --- weboob/applications/weboobdebug/weboobdebug.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/weboob/applications/weboobdebug/weboobdebug.py b/weboob/applications/weboobdebug/weboobdebug.py index d9c23bb146..b6c0f68d4e 100644 --- a/weboob/applications/weboobdebug/weboobdebug.py +++ b/weboob/applications/weboobdebug/weboobdebug.py @@ -19,16 +19,23 @@ import sys +from optparse import OptionGroup -from weboob.tools.application.console import ConsoleApplication +from weboob.tools.application.base import BaseApplication -class WeboobDebug(ConsoleApplication): +class WeboobDebug(BaseApplication): APPNAME = 'weboobdebug' VERSION = '0.d' COPYRIGHT = 'Copyright(C) 2010-2011 Christophe Benz' DESCRIPTION = "Weboob-Debug is a console application to debug backends." + def __init__(self, option_parser=None): + super(WeboobDebug, self).__init__(option_parser) + options = OptionGroup(self._parser, 'Weboob-Debug options') + options.add_option('-B', '--bpython', action='store_true', help='Prefer bpython over ipython') + self._parser.add_option_group(options) + def load_default_backends(self): pass @@ -41,7 +48,7 @@ def main(self, argv): try: backend_name = argv[1] except IndexError: - print >>sys.stderr, 'Syntax: %s BACKEND' % argv[0] + print >>sys.stderr, 'Usage: %s BACKEND' % argv[0] return 1 try: backend = self.weboob.load_backends(names=[backend_name])[backend_name] @@ -53,8 +60,7 @@ def main(self, argv): banner = 'Weboob debug shell\nBackend "%s" loaded.\nAvailable variables:\n' % backend_name \ + '\n'.join([' %s: %s' % (k, v) for k, v in locs.iteritems()]) - prefer_bpython = False # TODO user-configurable - if prefer_bpython: + if self.options.bpython: funcs = [self.bpython, self.ipython, self.python] else: funcs = [self.ipython, self.bpython, self.python] -- GitLab