Mercurial > p > roundup > code
view roundup/dist/command/build_doc.py @ 7697:c73a1177c2b2
fix: roundup-demo, interactive mode would nuke an existing tracker.
Tonu Mikk demonstrated a bug in roundup-demo. When invoked without a
tracker home on the command line, it would nuke an existing directory
specified interactively.
There is still a minor bug. If an invalid home directory is specified,
roundup-demo will prompt for the template to use before reporting:
Error: Refusing to nuke non-tracker directory:
but this doesn't cause data loss so not worth fixing at this time.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 08 Nov 2023 21:18:34 -0500 |
| parents | d2ca7b1bfc6b |
| children |
line wrap: on
line source
# # Copyright (C) 2009 Stefan Seefeld # All rights reserved. # For license terms see the file COPYING.txt. # import os, sys import os.path try: from setuptools.command.install import install as _build_py except ImportError: from distutils.command.build import build as _build_py # try/except clause orig_build = _build_py try: # would be nice to use setuptools.Command.spawn() as it # obeys the dry-run flag. from subprocess import run as spawn except ImportError: from distutils.spawn import spawn # try/except: in except for subprocess try: from distutils.spawn import find_executable # try/except: in try local find except ImportError: from roundup.dist.command import find_executable class build_doc(_build_py): """Defines the specific procedure to build roundup's documentation.""" description = "build documentation" def run(self): """Run this command, i.e. do the actual document generation.""" sphinx = find_executable('sphinx-build') if sphinx: sphinx = [sphinx] else: try: # try to find version installed with Python tools # tested with Sphinx 1.1.3 import sphinx as sp except ImportError: pass else: sphinx = [sys.executable, sp.__file__] if not sphinx: self.warn("could not find sphinx-build in PATH") self.warn("cannot build documentation") return doc_dir = os.path.join('share', 'doc', 'roundup', 'html') temp_dir = os.path.join(self.build_base, 'temp.doc') cmd = sphinx + ['-d', temp_dir, 'doc', doc_dir] spawn(cmd)
