Skip to content

Commit e63a377

Browse files
committed
BUG: Allow no . at end if indented
1 parent 7da2a4b commit e63a377

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

numpydoc/tests/test_validate.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ def plot(self, kind, color="blue", **kwargs):
3636
Parameters
3737
----------
3838
kind : str
39-
Kind of matplotlib plot.
39+
Kind of matplotlib plot, e.g.::
40+
41+
'foo'
42+
4043
color : str, default 'blue'
4144
Color name or rgb code.
4245
**kwargs

numpydoc/validate.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -257,10 +257,13 @@ def extended_summary(self):
257257

258258
@property
259259
def doc_parameters(self):
260+
return self._get_doc_parameters()
261+
262+
def _get_doc_parameters(self, joiner=""):
260263
parameters = collections.OrderedDict()
261264
for names, type_, desc in self.doc["Parameters"]:
262265
for name in names.split(", "):
263-
parameters[name] = (type_, "".join(desc))
266+
parameters[name] = (type_, joiner.join(desc))
264267
return parameters
265268

266269
@property
@@ -329,8 +332,8 @@ def directives_without_two_colons(self):
329332
def parameter_type(self, param):
330333
return self.doc_parameters[param][0]
331334

332-
def parameter_desc(self, param):
333-
desc = self.doc_parameters[param][1]
335+
def parameter_desc(self, param, joiner=""):
336+
desc = self._get_doc_parameters(joiner)[param][1]
334337
# Find and strip out any sphinx directives
335338
for directive in DIRECTIVES:
336339
full_directive = ".. {}".format(directive)
@@ -541,12 +544,16 @@ def validate(func_name):
541544
wrong_type=wrong_type,
542545
)
543546
)
544-
if not doc.parameter_desc(param):
547+
this_desc = doc.parameter_desc(param, "\n").rstrip("\n")
548+
if not this_desc:
545549
errs.append(error("PR07", param_name=param))
546550
else:
547-
if doc.parameter_desc(param)[0].isalpha() and not doc.parameter_desc(param)[0].isupper():
551+
if this_desc[0].isalpha() and not this_desc[0].isupper():
548552
errs.append(error("PR08", param_name=param))
549-
if doc.parameter_desc(param)[-1] != ".":
553+
# Not ending in "." is only an error if the last bit is not
554+
# indented (e.g., quote or code block)
555+
if this_desc[-1] != "." and \
556+
not this_desc.split("\n")[-1].startswith(" "):
550557
errs.append(error("PR09", param_name=param))
551558

552559
if doc.is_function_or_method:

0 commit comments

Comments
 (0)