Skip to content

Commit 1477e63

Browse files
enable multiple docstrings at once
1 parent 13d31b9 commit 1477e63

File tree

1 file changed

+26
-18
lines changed

1 file changed

+26
-18
lines changed

doc/make.py

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,11 @@ def _generate_exclude_pattern(include_api=True, single_doc=None):
7070
return exclude_patterns
7171

7272

73-
def _generate_temp_docstring_file(method):
73+
def _generate_temp_docstring_file(methods):
7474
"""
7575
"""
76-
fname = os.path.join(SOURCE_PATH, 'generated', '{}.rst'.format(method))
76+
fnames = [os.path.join(SOURCE_PATH, 'generated', '{}.rst'.format(method))
77+
for method in methods]
7778

7879
# # remove the target file to make sure it is updated again (to build
7980
# # latest version)
@@ -92,20 +93,21 @@ def _generate_temp_docstring_file(method):
9293
except OSError:
9394
pass
9495

95-
if os.path.exists(fname):
96-
# link the target file
97-
try:
98-
# os.symlink(fname, os.path.join(SOURCE_PATH, 'generated_temp',
99-
# '{}.rst'.format(method)),
100-
# target_is_directory=False)
101-
# copying to make sure sphinx always thinks it is new
102-
# and needs to be re-generated (to pick source code changes)
103-
shutil.copy(fname, os.path.join(SOURCE_PATH, 'generated_temp'))
104-
linked = True
105-
except: # noqa
96+
for fname in fnames:
97+
if os.path.exists(fname):
98+
# link the target file
99+
try:
100+
# os.symlink(fname, os.path.join(SOURCE_PATH, 'generated_temp',
101+
# '{}.rst'.format(method)),
102+
# target_is_directory=False)
103+
# copying to make sure sphinx always thinks it is new
104+
# and needs to be re-generated (to pick source code changes)
105+
shutil.copy(fname, os.path.join(SOURCE_PATH, 'generated_temp'))
106+
linked = True
107+
except: # noqa
108+
linked = False
109+
else:
106110
linked = False
107-
else:
108-
linked = False
109111

110112
s = """Built docstrings
111113
================
@@ -114,7 +116,7 @@ def _generate_temp_docstring_file(method):
114116
{toctree}
115117
{name}
116118
117-
""".format(name=method,
119+
""".format(name='\n '.join(methods),
118120
toctree=':toctree: generated_temp/\n' if not linked else '')
119121

120122
with open(os.path.join(SOURCE_PATH, "temp.rst"), 'w') as f:
@@ -327,6 +329,7 @@ def main():
327329
argparser.add_argument('--docstring',
328330
metavar='FILENAME',
329331
type=str,
332+
nargs='*',
330333
default=None,
331334
help=('method or function name to compile, '
332335
'e.g. "DataFrame.join"'))
@@ -346,8 +349,13 @@ def main():
346349
_generate_index(single_doc='temp.rst')
347350
DocBuilder(args.num_jobs, exclude_patterns).build_docstring()
348351
# open generated page in new browser tab
349-
url = os.path.join("file://", DOC_PATH, "build", "html",
350-
"generated_temp", "{}.html".format(args.docstring))
352+
if len(args.docstring) == 1:
353+
url = os.path.join(
354+
"file://", DOC_PATH, "build", "html",
355+
"generated_temp", "{}.html".format(args.docstring[0]))
356+
else:
357+
url = os.path.join(
358+
"file://", DOC_PATH, "build", "html", "temp.html")
351359
webbrowser.open(url, new=2)
352360
# clean-up generated files
353361
os.remove('source/temp.rst')

0 commit comments

Comments
 (0)