mirror of
https://github.com/numpy/numpy.git
synced 2026-10-28 16:34:42 +08:00
* DOC: avoid searching some directories for doxygen-commented source code * lint [skip azp][skip actions][skip cirrus] * use known paths [skip azp][skip actions][skip cirrus]
52 lines
1.5 KiB
Python
Executable File
52 lines
1.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import os
|
|
from string import Template
|
|
|
|
|
|
def main():
|
|
doxy_gen(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
|
|
|
|
def doxy_gen(root_path):
|
|
"""
|
|
Generate Doxygen configuration file.
|
|
"""
|
|
confs = doxy_config(root_path)
|
|
build_path = os.path.join(root_path, "doc", "build", "doxygen")
|
|
gen_path = os.path.join(build_path, "Doxyfile")
|
|
if not os.path.exists(build_path):
|
|
os.makedirs(build_path)
|
|
with open(gen_path, 'w') as fd:
|
|
fd.write("#Please Don't Edit! This config file was autogenerated by ")
|
|
fd.write(f"doxy_gen({root_path}) in doc/preprocess.py.\n")
|
|
for c in confs:
|
|
fd.write(c)
|
|
|
|
class DoxyTpl(Template):
|
|
delimiter = '@'
|
|
|
|
|
|
def doxy_config(root_path):
|
|
"""
|
|
Fetch all Doxygen sub-config files and gather it with the main config file.
|
|
"""
|
|
confs = []
|
|
dsrc_path = os.path.join(root_path, "doc", "source")
|
|
sub = {'ROOT_DIR': root_path}
|
|
with open(os.path.join(dsrc_path, "doxyfile")) as fd:
|
|
conf = DoxyTpl(fd.read())
|
|
confs.append(conf.substitute(CUR_DIR=dsrc_path, **sub))
|
|
|
|
for subdir in ["doc", "numpy"]:
|
|
for dpath, _, files in os.walk(os.path.join(root_path, subdir)):
|
|
if ".doxyfile" not in files:
|
|
continue
|
|
conf_path = os.path.join(dpath, ".doxyfile")
|
|
with open(conf_path) as fd:
|
|
conf = DoxyTpl(fd.read())
|
|
confs.append(conf.substitute(CUR_DIR=dpath, **sub))
|
|
return confs
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|