[Python-checkins] devinabox: Various fixes to make devinabox run again.

brett.cannon python-checkins at python.org
Tue Jan 24 19:59:07 CET 2012


http://hg.python.org/devinabox/rev/4cec355506f9
changeset: 37:4cec355506f9
user: Brett Cannon <brett at python.org>
date: Tue Jan 24 13:58:22 2012 -0500
summary:
 Various fixes to make devinabox run again.
files:
 make_a_box.py | 35 ++++++++++++++++++++---------------
 1 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/make_a_box.py b/make_a_box.py
--- a/make_a_box.py
+++ b/make_a_box.py
@@ -82,9 +82,14 @@
 """Location of the repository."""
 raise NotImplementedError
 
+ @property
+ def directory(self):
+ return os.path.basename(self.url)
+
 def create(self):
 """Clone an Hg repository to 'directory'."""
- subprocess.check_call(['hg', 'clone', self.url, self.directory])
+ cmd = ['hg', 'clone', self.url]
+ subprocess.check_call(cmd)
 
 
 class SvnProvider(Provider):
@@ -130,7 +135,6 @@
 """Clone of coverage.py (WARNING: building takes a while)"""
 
 url = 'https://brettsky@bitbucket.org/ned/coveragepy'
- directory = 'coveragepy'
 size = 133 # Includes the coverage report
 docs = os.path.join('coverage_report', 'index.html')
 
@@ -144,7 +148,7 @@
 print('No CPython executable found')
 sys.exit(1)
 print('Running coverage ...')
- regrtest_path = os.path.join(CPython.directory, 'Lib', 'test',
+ regrtest_path = os.path.join('cpython', 'Lib', 'test',
 'regrtest.py')
 try:
 subprocess.check_call([executable, self.directory, 'run', '--pylib',
@@ -158,7 +162,7 @@
 '"*/test/*,*/tests/*"', '-d', 'coverage_report'])
 # ``make distclean`` as you don't want to distribute your own build
 print('Cleaning up the CPython build ...')
- with change_cwd(CPython.directory):
+ with change_cwd('cpython'):
 subprocess.check_call(['make', 'distclean'])
 
 
@@ -216,14 +220,13 @@
 self._create_tortoisehg()
 
 
-class PEPs(SvnProvider):
+class PEPs(HgProvider):
 
 """Checkout of the Python Enhancement Proposals (for PEPs 7 & 8)"""
 
- url = 'http://svn.python.org/projects/peps/trunk/'
- directory = 'peps'
+ url = 'http://hg.python.org/peps'
 size = 20
- docs = os.path.join(directory, 'pep-0000.html')
+ docs = os.path.join('peps', 'pep-0000.html')
 
 def build(self):
 """Build the PEPs."""
@@ -238,18 +241,21 @@
 size = 4
 
 url = 'http://hg.python.org/devguide'
- directory = 'devguide'
- docs = os.path.join(directory, '_build', 'html', 'index.html')
+ docs = os.path.join('devguide', '_build', 'html', 'index.html')
 
 def build(self):
 """Build the devguide using Sphinx from CPython's docs."""
 # Grab Sphinx from cpython/Doc/tools/
- tools_directory = os.path.join(CPython.directory, 'Doc', 'tools')
+ tools_directory = os.path.join('cpython', 'Doc', 'tools')
+ sphinx_build_path = os.path.abspath(os.path.join(tools_directory, 'sphinx-build.py'))
 orig_pythonpath = os.environ.get('PYTHONPATH')
 os.environ['PYTHONPATH'] = os.path.abspath(tools_directory)
+ sphinxbuild_env = "SPHINXBUILD='python {}'".format(sphinx_build_path)
 try:
 with change_cwd(self.directory):
- subprocess.check_call(['make', 'html'])
+ subprocess.check_call(' '.join(['make', 'html',
+ sphinxbuild_env]),
+ shell=True)
 finally:
 if orig_pythonpath:
 os.environ['PYTHONPATH'] = orig_pythonpath
@@ -262,9 +268,8 @@
 """Clone of CPython (and requisite tools to build the documentation)"""
 
 url = 'http://hg.python.org/cpython'
- directory = 'cpython'
 size = 330 # Only docs are built
- docs = os.path.join(directory, 'Doc', 'build', 'html', 'index.html')
+ docs = os.path.join('cpython', 'Doc', 'build', 'html', 'index.html')
 
 def create(self):
 """Clone CPython and get the necessary tools to build the
@@ -291,7 +296,7 @@
 all_providers = (CPython, Devguide, PEPs, CoveragePy, Mercurial,
 VisualCPPExpress)
 print(__doc__)
- print('Please choose what to provide [y/n]:\n')
+ print('Please choose what to provide [answer y/n]:\n')
 desired_providers = []
 for provider in all_providers:
 docstring = provider.__doc__#.replace('\n', ' ')
-- 
Repository URL: http://hg.python.org/devinabox


More information about the Python-checkins mailing list

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