Skip to content

Commit 5efa1d1

Browse files
committed
MAINT: Simplify
1 parent 33d35e8 commit 5efa1d1

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

numpydoc/tests/test_validate.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ def sample(self):
9292
Returns
9393
-------
9494
float
95-
Random number generated, e.g.::
95+
Random number generated.
9696
97-
1.0
97+
- Make sure you set a seed for reproducibility
9898
9999
See Also
100100
--------

numpydoc/validate.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@
9090
"EX01": "No examples section found",
9191
}
9292

93+
# Ignore these when evaluating end-of-line-"." checks
94+
IGNORE_STARTS = (" ", "* ", "- ")
95+
9396

9497
def error(code, **kwargs):
9598
"""
@@ -257,13 +260,10 @@ def extended_summary(self):
257260

258261
@property
259262
def doc_parameters(self):
260-
return self._get_doc_parameters()
261-
262-
def _get_doc_parameters(self, joiner=""):
263263
parameters = collections.OrderedDict()
264264
for names, type_, desc in self.doc["Parameters"]:
265265
for name in names.split(", "):
266-
parameters[name] = (type_, joiner.join(desc))
266+
parameters[name] = (type_, desc)
267267
return parameters
268268

269269
@property
@@ -332,14 +332,15 @@ def directives_without_two_colons(self):
332332
def parameter_type(self, param):
333333
return self.doc_parameters[param][0]
334334

335-
def parameter_desc(self, param, joiner=""):
336-
desc = self._get_doc_parameters(joiner)[param][1]
335+
def parameter_desc(self, param):
336+
desc = "\n".join(self.doc_parameters[param][1])
337337
# Find and strip out any sphinx directives
338338
for directive in DIRECTIVES:
339339
full_directive = ".. {}".format(directive)
340340
if full_directive in desc:
341341
# Only retain any description before the directive
342-
desc = desc[: desc.index(full_directive)]
342+
desc = desc[: desc.index(full_directive)].rstrip("\n")
343+
desc = desc.split("\n")
343344
return desc
344345

345346
@property
@@ -544,17 +545,19 @@ def validate(func_name):
544545
wrong_type=wrong_type,
545546
)
546547
)
547-
this_desc = doc.parameter_desc(param, "\n").rstrip("\n")
548-
if not this_desc:
548+
this_desc = doc.parameter_desc(param)
549+
if not ''.join(this_desc):
549550
errs.append(error("PR07", param_name=param))
550551
else:
551-
if this_desc[0].isalpha() and not this_desc[0].isupper():
552+
if this_desc[0][0].isalpha() and not this_desc[0][0].isupper():
552553
errs.append(error("PR08", param_name=param))
553554
# Not ending in "." is only an error if the last bit is not
554555
# indented (e.g., quote or code block)
555-
if this_desc[-1] != "." and \
556-
not this_desc.split("\n")[-1].startswith(" "):
556+
if this_desc[-1][-1] != "." and \
557+
not this_desc[-1].startswith(IGNORE_STARTS):
557558
errs.append(error("PR09", param_name=param))
559+
if param == 'axis':
560+
raise RuntimeError
558561

559562
if doc.is_function_or_method:
560563
if not doc.returns:
@@ -571,7 +574,7 @@ def validate(func_name):
571574
if desc[0].isalpha() and not desc[0].isupper():
572575
errs.append(error("RT04"))
573576
if not desc.endswith(".") and \
574-
not desc.split("\n")[-1].startswith(" "):
577+
not desc.split("\n")[-1].startswith(IGNORE_STARTS):
575578
errs.append(error("RT05"))
576579

577580
if not doc.yields and "yield" in doc.method_source:

0 commit comments

Comments
 (0)