Updated to work with current Python docs setup, and added a minimal README.

This commit is contained in:
Jack Jansen 2005-04-17 21:30:52 +00:00
parent 4454a1ff84
commit 6d22b56b7e
2 changed files with 54 additions and 13 deletions

35
Mac/OSX/Doc/README Normal file
View File

@ -0,0 +1,35 @@
In this directory you can build the Python documentation in a form that
is suitable for access with Apple Help Viewer. This will enable the
"Python Documentation" menu entries in the MacPython IDE Help menu.
Unfortunately the procedure to build the docs is not very streamlined.
First, edit setup.py. At the top, edit MAJOR_VERSION and MINOR_VERSION,
and check that DESTDIR makes sense. The documentation will be installed
inside PythonIDE.app.
In DocBuild.initialize_options, set self.download to True if you want to
download the docs. Set it to False if you want to build the docs from
the source tree, but this requires LaTex and lots of other stuff.
Doable, but not easy.
Second, if you want to download the docs you may need to do a couple
more edits. The way the docs are packaged will often change between
major releases. Fiddle DocBuild.downloadDocs to make it do the right
thing (download the docs from python.org, unpack them, rename the
directory to "build/html").
After these edits you should be ready to roll. "pythonw setup.py build"
should download and unpack (or build) the docs. Next, it will do some
magic to make the docs indexable. Finally, it will run the Apple Help
Indexing Tool. (This last step is the reason you must use "pythonw" as
opposed to "python"). Usually it will time out while waiting for AHIT to
do its work. Wait until AHIT is done.
Now you're ready to install with "python setup.py install".
After this is done test your work. Fire up PythonIDE, and check that
Help->Python Documentation brings up the documentation in the Help Viewer.
Also open an IDE edit window, type something like "import sys", select
"import", and use Help->Lookup in Python Documentation to check that the
index has been generated correctly.

View File

@ -28,13 +28,17 @@ import HelpIndexingTool
import Carbon.File
import time
MAJOR_VERSION='2.4'
MINOR_VERSION='2.4.1'
DESTDIR='/Applications/MacPython-%s/PythonIDE.app/Contents/Resources/English.lproj/PythonDocumentation' % MAJOR_VERSION
class DocBuild(build):
def initialize_options(self):
build.initialize_options(self)
self.build_html = None
self.build_dest = None
self.download = 0
self.doc_version = '2.3b1' # Only needed if download is true
self.download = 1
self.doc_version = MINOR_VERSION # Only needed if download is true
def finalize_options(self):
build.finalize_options(self)
@ -48,20 +52,22 @@ class DocBuild(build):
def downloadDocs(self):
workdir = os.getcwd()
url = 'http://www.python.org/ftp/python/doc/%s/html-%s.tgz' % \
# XXX Note: the next strings may change from version to version
url = 'http://www.python.org/ftp/python/doc/%s/html-%s.tar.bz2' % \
(self.doc_version,self.doc_version)
tarfile = 'html-%s.tar.bz2' % self.doc_version
dirname = 'Python-Docs-%s' % self.doc_version
if os.path.exists(self.build_html):
raise RuntimeError, '%s: already exists, please remove and try again' % self.build_html
os.chdir(self.build_base)
self.spawn('curl','-O', url)
self.spawn('tar', '-xjf', tarfile)
os.rename(dirname, 'html')
os.chdir(workdir)
tarfile = 'html-%s.tgz' % self.doc_version
## This no longer works due to name changes
## self.mkpath(self.build_html)
## os.chdir(self.build_html)
## self.spawn('tar', '-xzf', '../' + tarfile)
## os.chdir(workdir)
print "** Please unpack %s" % os.path.join(self.build_base, tarfile)
print "** Unpack the files into %s" % self.build_html
raise RuntimeError, "You need to unpack the docs manually"
## print "** Please unpack %s" % os.path.join(self.build_base, tarfile)
## print "** Unpack the files into %s" % self.build_html
## raise RuntimeError, "You need to unpack the docs manually"
def buildDocsFromSource(self):
srcdir = '../../..'
@ -173,7 +179,7 @@ class AHVDocInstall(Command):
build_cmd = self.get_finalized_command('build')
self.build_dest = build_cmd.build_dest
if self.install_doc == None:
self.install_doc = os.path.join(self.prefix, 'Resources/Python.app/Contents/Resources/English.lproj/PythonDocumentation')
self.install_doc = os.path.join(self.prefix, DESTDIR)
print 'INSTALL', self.build_dest, '->', self.install_doc
def run(self):