[Python-checkins] r61787 - in doctools/trunk/sphinx: builder.py ext/doctest.py

georg.brandl python-checkins at python.org
Sun Mar 23 07:51:04 CET 2008


Author: georg.brandl
Date: Sun Mar 23 07:51:04 2008
New Revision: 61787
Modified:
 doctools/trunk/sphinx/builder.py
 doctools/trunk/sphinx/ext/doctest.py
Log:
Fix a case where nothing is built if the environment is fresh.
Modified: doctools/trunk/sphinx/builder.py
==============================================================================
--- doctools/trunk/sphinx/builder.py	(original)
+++ doctools/trunk/sphinx/builder.py	Sun Mar 23 07:51:04 2008
@@ -149,7 +149,7 @@
 
 def build_all(self):
 """Build all source files."""
- self.build(None, summary='all source files')
+ self.build(None, summary='all source files', method='all')
 
 def build_specific(self, filenames):
 """Only rebuild as much as needed for changes in the source_filenames."""
@@ -162,14 +162,17 @@
 filename = path.abspath(filename)[dirlen:]
 if filename.endswith(suffix):
 filename = filename[:-len(suffix)]
+ filename = filename.replace(os.path.sep, SEP)
 to_write.append(filename)
- self.build(to_write,
- summary='%d source files given on command line' % len(to_write))
+ self.build(to_write, method='specific',
+ summary='%d source files given on command '
+ 'line' % len(to_write))
 
 def build_update(self):
 """Only rebuild files changed or added since last build."""
 to_build = self.get_outdated_docs()
- if not to_build:
+ if not to_build and self.env.all_docs:
+ # if there is nothing in all_docs, it's a fresh env
 self.info(bold('no target files are out of date, exiting.'))
 return
 if isinstance(to_build, str):
@@ -180,7 +183,7 @@
 summary='targets for %d source files that are '
 'out of date' % len(to_build))
 
- def build(self, docnames, summary=None):
+ def build(self, docnames, summary=None, method='update'):
 if summary:
 self.info(bold('building [%s]: ' % self.name), nonl=1)
 self.info(summary)
@@ -213,7 +216,7 @@
 
 # another indirection to support methods which don't build files
 # individually
- self.write(docnames, updated_docnames)
+ self.write(docnames, updated_docnames, method)
 
 # finish (write static files etc.)
 self.info(bold('finishing... '))
@@ -223,10 +226,13 @@
 else:
 self.info(bold('build succeeded.'))
 
- def write(self, build_docnames, updated_docnames):
- if build_docnames is None: # build_all
+ def write(self, build_docnames, updated_docnames, method='update'):
+ if build_docnames is None:
+ # build_all
 build_docnames = self.env.all_docs
- docnames = set(build_docnames) | set(updated_docnames)
+ if method == 'update':
+ # build updated ones as well
+ docnames = set(build_docnames) | set(updated_docnames)
 
 # add all toctree-containing files that may have changed
 for docname in list(docnames):
Modified: doctools/trunk/sphinx/ext/doctest.py
==============================================================================
--- doctools/trunk/sphinx/ext/doctest.py	(original)
+++ doctools/trunk/sphinx/ext/doctest.py	Sun Mar 23 07:51:04 2008
@@ -202,7 +202,7 @@
 
 sys.path[0:0] = self.config.doctest_path
 
- def write(self, build_docnames, updated_docnames):
+ def write(self, build_docnames, updated_docnames, method='update'):
 if build_docnames is None:
 build_docnames = self.env.all_docs
 


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /