diff --git a/weboob/applications/weboobdebug/weboobdebug.py b/weboob/applications/weboobdebug/weboobdebug.py index d87043c36bb7bac139ee9123711515634617c827..0c6e41aa131ce0e175f9aa55b609a098ed3c77db 100644 --- a/weboob/applications/weboobdebug/weboobdebug.py +++ b/weboob/applications/weboobdebug/weboobdebug.py @@ -65,7 +65,9 @@ def main(self, argv): funcs = [self.bpython, self.ipython, self.python] else: funcs = [self.ipython, self.bpython, self.python] + self.launch(funcs, locs, banner) + def launch(self, funcs, locs, banner): for func in funcs: try: func(locs, banner) diff --git a/weboob/tools/application/repl.py b/weboob/tools/application/repl.py index dbf32706de532b21e2eb4ef8a95c7cdbd23f894b..0fb3d0023a764eff66a6506db37ac601109e9bf8 100644 --- a/weboob/tools/application/repl.py +++ b/weboob/tools/application/repl.py @@ -1239,3 +1239,21 @@ def format(self, result, alias=None): def flush(self): self.formatter.flush() + + def do_debug(self, line): + """ + debug + + Launch a debug Python shell + """ + + from weboob.applications.weboobdebug import weboobdebug + + app = weboobdebug.WeboobDebug() + locs = dict(application=self, weboob=self.weboob) + banner = ('Weboob debug shell\n\nAvailable variables:\n' + + '\n'.join([' %s: %s' % (k, v) for k, v in locs.items()])) + + funcs = [app.ipython, app.bpython, app.python] + app.launch(funcs, locs, banner) +