Kaydet (Commit) d04acc86 authored tarafından Kurt B. Kaiser's avatar Kurt B. Kaiser

Backport EditorWindow rev 1.60 configHelpSourceEdit rev 1.7 15Jul04

checking sys.platform for substring 'win' was breaking IDLE docs on Mac
(darwin).  Also, Mac Safari browser requires full file:// URIs.  SF 900580.

M EditorWindow.py
M NEWS.txt
M configHelpSourceEdit.py
üst 3fccd951
...@@ -60,7 +60,7 @@ class EditorWindow: ...@@ -60,7 +60,7 @@ class EditorWindow:
basepath = '/usr/share/doc/' # standard location basepath = '/usr/share/doc/' # standard location
dochome = os.path.join(basepath, pyver, dochome = os.path.join(basepath, pyver,
'Doc', 'index.html') 'Doc', 'index.html')
elif sys.platform.count('win') or sys.platform.count('nt'): elif sys.platform[:3] == 'win':
# Try the HTMLHelp file # Try the HTMLHelp file
chmpath = os.path.join(sys.prefix, 'Doc', chmpath = os.path.join(sys.prefix, 'Doc',
'Python%d%d.chm' % sys.version_info[:2]) 'Python%d%d.chm' % sys.version_info[:2])
...@@ -311,20 +311,11 @@ class EditorWindow: ...@@ -311,20 +311,11 @@ class EditorWindow:
textView.TextViewer(self.top,'Help',fn) textView.TextViewer(self.top,'Help',fn)
def python_docs(self, event=None): 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) os.startfile(self.help_url)
return "break"
else: else:
webbrowser.open(self.help_url) webbrowser.open(self.help_url)
return "break" 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)
def cut(self,event): def cut(self,event):
self.text.event_generate("<<Cut>>") self.text.event_generate("<<Cut>>")
...@@ -575,7 +566,12 @@ class EditorWindow: ...@@ -575,7 +566,12 @@ class EditorWindow:
def __extra_help_callback(self, helpfile): def __extra_help_callback(self, helpfile):
"Create a callback with the helpfile value frozen at definition time" "Create a callback with the helpfile value frozen at definition time"
def display_extra_help(helpfile=helpfile): 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 return display_extra_help
def UpdateRecentFilesList(self,newFile=None): def UpdateRecentFilesList(self,newFile=None):
......
...@@ -3,6 +3,10 @@ What's New in IDLE 1.0.4? ...@@ -3,6 +3,10 @@ What's New in IDLE 1.0.4?
*Release date: XX-Jan-2005* *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 - rpc.py:SocketIO - Large modules were generating large pickles when downloaded
to the execution server. The return of the OK response from the subprocess to the execution server. The return of the OK response from the subprocess
initialization was interfering and causing the sending socket to be not initialization was interfering and causing the sending socket to be not
......
"Dialog to specify or edit the parameters for a user configured help source." "Dialog to specify or edit the parameters for a user configured help source."
import os import os
import sys
from Tkinter import * from Tkinter import *
import tkMessageBox import tkMessageBox
...@@ -84,7 +85,7 @@ class GetHelpSourceDialog(Toplevel): ...@@ -84,7 +85,7 @@ class GetHelpSourceDialog(Toplevel):
dir, base = os.path.split(path) dir, base = os.path.split(path)
else: else:
base = None 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') dir = os.path.join(os.path.dirname(sys.executable), 'Doc')
if not os.path.isdir(dir): if not os.path.isdir(dir):
dir = os.getcwd() dir = os.getcwd()
...@@ -127,19 +128,30 @@ class GetHelpSourceDialog(Toplevel): ...@@ -127,19 +128,30 @@ class GetHelpSourceDialog(Toplevel):
self.entryPath.focus_set() self.entryPath.focus_set()
pathOk = False pathOk = False
elif path.startswith('www.') or path.startswith('http'): elif path.startswith('www.') or path.startswith('http'):
pathOk = True pass
elif not os.path.exists(path): else:
tkMessageBox.showerror(title='File Path Error', if path[:5] == 'file:':
message='Help file path does not exist.', path = path[5:]
parent=self) if not os.path.exists(path):
self.entryPath.focus_set() tkMessageBox.showerror(title='File Path Error',
pathOk = False message='Help file path does not exist.',
parent=self)
self.entryPath.focus_set()
pathOk = False
return pathOk return pathOk
def Ok(self, event=None): def Ok(self, event=None):
if self.MenuOk() and self.PathOk(): if self.MenuOk() and self.PathOk():
self.result = (self.menu.get().strip(), self.result = (self.menu.get().strip(),
self.path.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() self.destroy()
def Cancel(self, event=None): def Cancel(self, event=None):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment