From 14ae18736f9a5d6eb8a96aba1313f37f91aedb96 Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Fri, 9 Mar 2018 10:26:09 +0100 Subject: [PATCH 1/2] Docstring validation script: handle args/kwargs --- scripts/validate_docstrings.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/validate_docstrings.py b/scripts/validate_docstrings.py index 8425882f07be1..c388e19969471 100755 --- a/scripts/validate_docstrings.py +++ b/scripts/validate_docstrings.py @@ -175,7 +175,7 @@ def needs_summary(self): @property def doc_parameters(self): - return collections.OrderedDict((name, (type_, ''.join(desc))) + return collections.OrderedDict((name.strip('*'), (type_, ''.join(desc))) for name, type_, desc in self.doc['Parameters']) @@ -417,7 +417,11 @@ def validate_one(func_name): param_errs = doc.parameter_mismatches for param in doc.doc_parameters: - if not doc.parameter_type(param): + if param in {'kwargs', 'args'}: + if doc.parameter_type(param): + param_errs.append('Parameter "**{}" does not need a type ' + 'description'.format(param)) + elif not doc.parameter_type(param) and param not in {'args', 'kwargs'}: param_errs.append('Parameter "{}" has no type'.format(param)) else: if doc.parameter_type(param)[-1] == '.': From 066fd2fde55c6e906b227f770676e44d0d16e05f Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Fri, 9 Mar 2018 10:28:39 +0100 Subject: [PATCH 2/2] pe8 --- scripts/validate_docstrings.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/validate_docstrings.py b/scripts/validate_docstrings.py index c388e19969471..e5768ca0aba23 100755 --- a/scripts/validate_docstrings.py +++ b/scripts/validate_docstrings.py @@ -175,9 +175,9 @@ def needs_summary(self): @property def doc_parameters(self): - return collections.OrderedDict((name.strip('*'), (type_, ''.join(desc))) - for name, type_, desc - in self.doc['Parameters']) + return collections.OrderedDict( + (name.strip('*'), (type_, ''.join(desc))) + for name, type_, desc in self.doc['Parameters']) @property def signature_parameters(self):