basepath = '/usr/share/doc/' # standard location
dochome = os.path.join(basepath, pyver,
'Doc', 'index.html')
- elif sys.platform.count('win') or sys.platform.count('nt'):
+ elif sys.platform[:3] == 'win':
# Try the HTMLHelp file
chmpath = os.path.join(sys.prefix, 'Doc',
'Python%d%d.chm' % sys.version_info[:2])
textView.TextViewer(self.top,'Help',fn)
def python_docs(self, event=None):
- if sys.platform.count('win') or sys.platform.count('nt'):
+ if sys.platform[:3] == 'win':
os.startfile(self.help_url)
- return "break"
else:
webbrowser.open(self.help_url)
- return "break"
-
- def display_docs(self, url):
- if not (url.startswith('www') or url.startswith('http')):
- url = os.path.normpath(url)
- if sys.platform.count('win') or sys.platform.count('nt'):
- os.startfile(url)
- else:
- webbrowser.open(url)
+ return "break"
def cut(self,event):
self.text.event_generate("<<Cut>>")
def __extra_help_callback(self, helpfile):
"Create a callback with the helpfile value frozen at definition time"
def display_extra_help(helpfile=helpfile):
- self.display_docs(helpfile)
+ if not (helpfile.startswith('www') or helpfile.startswith('http')):
+ url = os.path.normpath(helpfile)
+ if sys.platform[:3] == 'win':
+ os.startfile(helpfile)
+ else:
+ webbrowser.open(helpfile)
return display_extra_help
def UpdateRecentFilesList(self,newFile=None):
*Release date: XX-Jan-2005*
+- checking sys.platform for substring 'win' was breaking IDLE docs on Mac
+ (darwin). Also, Mac Safari browser requires full file:// URIs. Backport of
+ fix for SF 900580.
+
- rpc.py:SocketIO - Large modules were generating large pickles when downloaded
to the execution server. The return of the OK response from the subprocess
initialization was interfering and causing the sending socket to be not
"Dialog to specify or edit the parameters for a user configured help source."
import os
+import sys
from Tkinter import *
import tkMessageBox
dir, base = os.path.split(path)
else:
base = None
- if sys.platform.count('win') or sys.platform.count('nt'):
+ if sys.platform[:3] == 'win':
dir = os.path.join(os.path.dirname(sys.executable), 'Doc')
if not os.path.isdir(dir):
dir = os.getcwd()
self.entryPath.focus_set()
pathOk = False
elif path.startswith('www.') or path.startswith('http'):
- pathOk = True
- elif not os.path.exists(path):
- tkMessageBox.showerror(title='File Path Error',
- message='Help file path does not exist.',
- parent=self)
- self.entryPath.focus_set()
- pathOk = False
+ pass
+ else:
+ if path[:5] == 'file:':
+ path = path[5:]
+ if not os.path.exists(path):
+ tkMessageBox.showerror(title='File Path Error',
+ message='Help file path does not exist.',
+ parent=self)
+ self.entryPath.focus_set()
+ pathOk = False
return pathOk
def Ok(self, event=None):
if self.MenuOk() and self.PathOk():
self.result = (self.menu.get().strip(),
self.path.get().strip())
+ if sys.platform == 'darwin':
+ path = self.result[1]
+ if (path.startswith('www') or path.startswith('file:')
+ or path.startswith('http:')):
+ pass
+ else:
+ # Mac Safari insists on using the URI form for local files
+ self.result[1] = "file://" + path
self.destroy()
def Cancel(self, event=None):