optional full documentation Python Documentation.
self.build_html = None
self.build_dest = None
self.download = 1
- self.doc_version = '2.2.1'
+ self.doc_version = '2.2.2'
def finalize_options(self):
build.finalize_options(self)
def downloadDocs(self):
workdir = os.getcwd()
- self.mkpath(self.build_html)
+ url = 'http://www.python.org/ftp/python/doc/%s/html-%s.tgz' % \
+ (self.doc_version,self.doc_version)
os.chdir(self.build_base)
- self.spawn('curl','-O', 'http://www.python.org/ftp/python/doc/%s/html-%s.tgz' % (self.doc_version,self.doc_version))
- os.chdir(workdir)
- os.chdir(self.build_html)
- self.spawn('tar', '-xzf', '../html-%s.tgz' % self.doc_version)
+ self.spawn('curl','-O', url)
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"
def buildDocsFromSource(self):
srcdir = '../../..'
hackedIndex = file(os.path.join(self.build_dest, ind_html),'w')
origIndex = file(os.path.join(self.build_html,ind_html))
r = re.compile('<style type="text/css">.*</style>', re.DOTALL)
- hackedIndex.write(r.sub('<META NAME="AppleTitle" CONTENT="Python Help">',origIndex.read()))
+ hackedIndex.write(r.sub('<META NAME="AppleTitle" CONTENT="Python Documentation">',origIndex.read()))
def hackFile(self,d,f):
origPath = os.path.join(d,f)
def run(self):
self.ensure_finalized()
+ self.mkpath(self.build_base)
self.ensureHtml()
if not os.path.isdir(self.build_html):
raise RuntimeError, \
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/English.lproj/Documentation')
+ self.install_doc = os.path.join(self.prefix, 'Resources/Python.app/Contents/Resources/English.lproj/PythonDocumentation')
print 'INSTALL', self.build_dest, '->', self.install_doc
def run(self):
<key>CFBundleHelpBookFolder</key>
<array>
<string>Documentation</string>
+ <string>PythonDocumentation</string>
</array>
<key>CFBundleHelpBookName</key>
- <string>Python Help</string>
+ <string>MacPython Help</string>
<key>CFBundleHelpTOCFile</key>
<string>index.html</string>
<meta name="generator" content="BBEdit 6.5.3">
<link rel="SHORTCUT ICON" href="pythonsmall.gif">
<META NAME="AppleIcon" CONTENT="pythonsmall.gif">
- <META NAME="AppleTitle" CONTENT="Python Help">
+ <META NAME="AppleTitle" CONTENT="MacPython Help">
</head>
<body>
PackageManager.PackageBrowser()
def makehelpmenu(self):
- docs = self.installdocumentation()
+ hashelp, hasdocs = self.installdocumentation()
self.helpmenu = m = self.gethelpmenu()
+ helpitem = FrameWork.MenuItem(m, "MacPython Help", None, self.domenu_localhelp)
+ helpitem.enable(hashelp)
docitem = FrameWork.MenuItem(m, "Python Documentation", None, self.domenu_localdocs)
- docitem.enable(docs)
+ docitem.enable(hasdocs)
finditem = FrameWork.MenuItem(m, "Lookup in Python Documentation", None, 'lookuppython')
- finditem.enable(docs)
+ finditem.enable(hasdocs)
if runningOnOSX():
FrameWork.Separator(m)
doc2item = FrameWork.MenuItem(m, "Apple Developer Documentation", None, self.domenu_appledocs)
def domenu_localdocs(self, *args):
from Carbon import AH
- AH.AHGotoPage("Python Help", None, None)
+ AH.AHGotoPage("Python Documentation", None, None)
+
+ def domenu_localhelp(self, *args):
+ from Carbon import AH
+ AH.AHGotoPage("MacPython Help", None, None)
def domenu_appledocs(self, *args):
from Carbon import AH, AppleHelp
if not searchstring:
return
try:
- AH.AHSearch("Python Help", searchstring)
+ AH.AHSearch("Python Documentation", searchstring)
except AH.Error, arg:
W.Message("AppleHelp Error: %s" % `arg`)
# And as AHRegisterHelpBook wants a bundle (with the right bits in
# the plist file) we refer it to Python.app
python_app = os.path.join(sys.prefix, 'Resources/Python.app')
- doc_source = os.path.join(python_app, 'Contents/Resources/English.lproj/Documentation')
- if not os.path.isdir(doc_source):
- return 0
- try:
- from Carbon import AH
- AH.AHRegisterHelpBook(python_app)
- except (ImportError, MacOS.Error), arg:
- W.Message("Cannot register Python documentation: %s" % `arg`)
- return 0
- return 1
+ help_source = os.path.join(python_app, 'Contents/Resources/English.lproj/Documentation')
+ doc_source = os.path.join(python_app, 'Contents/Resources/English.lproj/PythonDocumentation')
+ has_help = os.path.isdir(help_source)
+ has_doc = os.path.isdir(doc_source)
+ if has_help or has_doc:
+ try:
+ from Carbon import AH
+ AH.AHRegisterHelpBook(python_app)
+ except (ImportError, MacOS.Error), arg:
+ pass # W.Message("Cannot register Python Documentation: %s" % str(arg))
+ return has_help, has_doc
PythonIDE()