From 9fe4faa6bb552e95f70a8a31eeddabba6f97129e Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Sun, 28 Jul 2013 00:23:31 +0200 Subject: [PATCH] add missing docstrings to commands --- weboob/applications/comparoob/comparoob.py | 11 +++++++++++ weboob/applications/parceloob/parceloob.py | 5 +++++ weboob/tools/application/repl.py | 13 ++++++------- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/weboob/applications/comparoob/comparoob.py b/weboob/applications/comparoob/comparoob.py index 1b4c401d..aedb4589 100644 --- a/weboob/applications/comparoob/comparoob.py +++ b/weboob/applications/comparoob/comparoob.py @@ -91,6 +91,12 @@ class Comparoob(ReplApplication): CAPS = ICapPriceComparison def do_prices(self, pattern): + """ + prices [PATTERN] + + Display prices for a product. If a pattern is supplied, do not prompt + what product to compare. + """ products = [] for backend, product in self.do('search_products', pattern): double = False @@ -135,6 +141,11 @@ class Comparoob(ReplApplication): return self._complete_object() def do_info(self, _id): + """ + info ID + + Get information about a product. + """ if not _id: print >>sys.stderr, 'This command takes an argument: %s' % self.get_command_help('info', short=True) return 2 diff --git a/weboob/applications/parceloob/parceloob.py b/weboob/applications/parceloob/parceloob.py index d2679473..bf05d6b5 100644 --- a/weboob/applications/parceloob/parceloob.py +++ b/weboob/applications/parceloob/parceloob.py @@ -148,6 +148,11 @@ class Parceloob(ReplApplication): self.cached_format(p) def do_info(self, id): + """ + info ID + + Get information about a parcel. + """ parcel = self.get_object(id, 'get_parcel_tracking', []) if not parcel: print >>sys.stderr, 'Error: parcel not found' diff --git a/weboob/tools/application/repl.py b/weboob/tools/application/repl.py index 838f02e1..d307fcb4 100644 --- a/weboob/tools/application/repl.py +++ b/weboob/tools/application/repl.py @@ -486,11 +486,12 @@ class ReplApplication(Cmd, ConsoleApplication): def get_command_help(self, command, short=False): try: - doc = getattr(self, 'do_' + command).__doc__ + func = getattr(self, 'do_' + command) except AttributeError: return None - if not doc: - return '%s' % command + + doc = func.__doc__ + assert doc is not None, "A command must have a docstring" lines = [line.strip() for line in doc.strip().split('\n')] if not lines[0].startswith(command): @@ -511,10 +512,8 @@ class ReplApplication(Cmd, ConsoleApplication): cmd = name[3:] if cmd in self.hidden_commands.union(self.weboob_commands).union(['help']): continue - elif getattr(self, name).__doc__: - d[appname].append(self.get_command_help(cmd, short=True)) - else: - d[appname].append(cmd) + + d[appname].append(self.get_command_help(cmd, short=True)) if not self.DISABLE_REPL: for cmd in self.weboob_commands: d['Weboob'].append(self.get_command_help(cmd, short=True))