@@ -257,10 +257,13 @@ def extended_summary(self):
257
257
258
258
@property
259
259
def doc_parameters (self ):
260
+ return self ._get_doc_parameters ()
261
+
262
+ def _get_doc_parameters (self , joiner = "" ):
260
263
parameters = collections .OrderedDict ()
261
264
for names , type_ , desc in self .doc ["Parameters" ]:
262
265
for name in names .split (", " ):
263
- parameters [name ] = (type_ , "" .join (desc ))
266
+ parameters [name ] = (type_ , joiner .join (desc ))
264
267
return parameters
265
268
266
269
@property
@@ -329,8 +332,8 @@ def directives_without_two_colons(self):
329
332
def parameter_type (self , param ):
330
333
return self .doc_parameters [param ][0 ]
331
334
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 ]
334
337
# Find and strip out any sphinx directives
335
338
for directive in DIRECTIVES :
336
339
full_directive = ".. {}" .format (directive )
@@ -541,12 +544,16 @@ def validate(func_name):
541
544
wrong_type = wrong_type ,
542
545
)
543
546
)
544
- if not doc .parameter_desc (param ):
547
+ this_desc = doc .parameter_desc (param , "\n " ).rstrip ("\n " )
548
+ if not this_desc :
545
549
errs .append (error ("PR07" , param_name = param ))
546
550
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 ():
548
552
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 (" " ):
550
557
errs .append (error ("PR09" , param_name = param ))
551
558
552
559
if doc .is_function_or_method :
0 commit comments