|
17 | 17 | import doctest
|
18 | 18 | import glob
|
19 | 19 | import importlib
|
| 20 | +from io import StringIO |
20 | 21 | import json
|
21 | 22 | import os
|
22 | 23 | import subprocess
|
|
27 | 28 | Optional,
|
28 | 29 | )
|
29 | 30 |
|
30 |
| -try: |
31 |
| - from io import StringIO |
32 |
| -except ImportError: |
33 |
| - from cStringIO import StringIO |
34 |
| - |
35 | 31 | # Template backend makes matplotlib to not plot anything. This is useful
|
36 | 32 | # to avoid that plot windows are open from the doctests while running the
|
37 | 33 | # script. Setting here before matplotlib is loaded.
|
|
49 | 45 | import pandas # isort:skip
|
50 | 46 |
|
51 | 47 | sys.path.insert(1, os.path.join(BASE_PATH, "doc", "sphinxext"))
|
52 |
| -from numpydoc.validate import validate, Docstring # isort:skip |
| 48 | +from numpydoc.validate import validate, Validator # isort:skip |
| 49 | +from numpydoc.docscrape import get_doc_object |
53 | 50 |
|
54 | 51 |
|
55 | 52 | PRIVATE_CLASSES = ["NDFrame", "IndexOpsMixin"]
|
@@ -145,7 +142,7 @@ def get_api_items(api_doc_fd):
|
145 | 142 | previous_line = line
|
146 | 143 |
|
147 | 144 |
|
148 |
| -class PandasDocstring(Docstring): |
| 145 | +class PandasDocstring(Validator): |
149 | 146 | @property
|
150 | 147 | def mentioned_private_classes(self):
|
151 | 148 | return [klass for klass in PRIVATE_CLASSES if klass in self.raw_doc]
|
@@ -213,7 +210,9 @@ def pandas_validate(func_name: str):
|
213 | 210 | dict
|
214 | 211 | Information about the docstring and the errors found.
|
215 | 212 | """
|
216 |
| - doc = PandasDocstring(func_name) |
| 213 | + func_obj = get_doc_object(Validator._load_obj(func_name)) |
| 214 | + print(func_name, func_obj._obj) |
| 215 | + doc = PandasDocstring(func_obj) |
217 | 216 | result = validate(func_name)
|
218 | 217 |
|
219 | 218 | mentioned_errs = doc.mentioned_private_classes
|
|
0 commit comments