CofeehousePy/deps/scikit-image/doc/tools/build_modref_templates.py

59 lines
1.8 KiB
Python

#!/usr/bin/env python
"""Script to auto-generate our API docs.
"""
# stdlib imports
import os, sys
# local imports
from apigen import ApiDocWriter
# version comparison
from distutils.version import LooseVersion as V
#*****************************************************************************
def abort(error):
print('*WARNING* API documentation not generated: %s' % error)
exit()
if __name__ == '__main__':
package = 'skimage'
# Check that the 'image' package is available. If not, the API
# documentation is not (re)generated and existing API documentation
# sources will be used.
try:
__import__(package)
except ImportError as e:
abort("Can not import skimage")
module = sys.modules[package]
# Check that the source version is equal to the installed
# version. If the versions mismatch the API documentation sources
# are not (re)generated. This avoids automatic generation of documentation
# for older or newer versions if such versions are installed on the system.
installed_version = V(module.__version__)
source_lines = open('../skimage/__init__.py').readlines()
version = 'vUndefined'
for l in source_lines:
if l.startswith('__version__'):
source_version = V(l.split("'")[1])
break
if source_version != installed_version:
abort("Installed version does not match source version")
outdir = 'source/api'
docwriter = ApiDocWriter(package)
docwriter.package_skip_patterns += [r'\.fixes$',
r'\.externals$',
r'filter$',
]
docwriter.write_api_docs(outdir)
docwriter.write_index(outdir, 'api', relative_to='source/api')
print('%d files written' % len(docwriter.written_modules))