mirror of
https://github.com/wassname/scikit-image.git
synced 2026-07-08 22:55:16 +08:00
Generate new API only when the current version of the library is installed, otherwise revert to pre-generated files. [Patch by Helge Reikeras]
This commit is contained in:
+4
-1
@@ -17,5 +17,8 @@
|
||||
OpenCV functions and better OSX library loader
|
||||
|
||||
- Ralf Gommers
|
||||
Image IO, color spaces and plots in documentation
|
||||
Image IO, color spaces, plots in documentation, cleaner API docs
|
||||
|
||||
- Helge Reikeras
|
||||
Logic around API docs generation
|
||||
|
||||
|
||||
@@ -2,14 +2,51 @@
|
||||
"""Script to auto-generate our API docs.
|
||||
"""
|
||||
# stdlib imports
|
||||
import os
|
||||
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 = 'scikits.image'
|
||||
|
||||
# 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, e:
|
||||
abort("Can not import scikits.image")
|
||||
|
||||
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.version)
|
||||
|
||||
setup_lines = open('../setup.py').readlines()
|
||||
version = 'vUndefined'
|
||||
for l in setup_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$',
|
||||
|
||||
Reference in New Issue
Block a user