[Python-checkins] python/dist/src/Mac/OSX/Doc README, NONE, 1.1 setup.py, 1.5, 1.6

jackjansen at users.sourceforge.net jackjansen at users.sourceforge.net
Sun Apr 17 23:30:59 CEST 2005


Update of /cvsroot/python/python/dist/src/Mac/OSX/Doc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12125

Modified Files:
	setup.py 
Added Files:
	README 
Log Message:
Updated to work with current Python docs setup, and added a minimal README.


--- NEW FILE: README ---
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.

Index: setup.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/OSX/Doc/setup.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- setup.py	18 Jul 2004 05:58:13 -0000	1.5
+++ setup.py	17 Apr 2005 21:30:55 -0000	1.6
@@ -28,13 +28,17 @@
 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 @@
 
     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 @@
             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):



More information about the Python-checkins mailing list