]> granicus.if.org Git - python/commitdiff
Checking sys.platform for substring 'win' was breaking IDLE docs on Mac
authorKurt B. Kaiser <kbk@shore.net>
Thu, 15 Jul 2004 04:54:57 +0000 (04:54 +0000)
committerKurt B. Kaiser <kbk@shore.net>
Thu, 15 Jul 2004 04:54:57 +0000 (04:54 +0000)
(darwin). Also, Mac Safari browser requires full file:// URIs.  SF 900580

M EditorWindow.py
M NEWS.txt
M configHelpSourceEdit.py
M idlever.py

Lib/idlelib/EditorWindow.py
Lib/idlelib/NEWS.txt
Lib/idlelib/configHelpSourceEdit.py
Lib/idlelib/idlever.py

index 36cbb143a9b5b9b286edf6be1c82d1554ad33cc8..41d26e56d192661d09f49f00147d2226099a0dbc 100644 (file)
@@ -60,11 +60,10 @@ class EditorWindow:
                     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':
                 chmfile = os.path.join(sys.prefix, "Python%d%d.chm" % sys.version_info[:2])
                 if os.path.isfile(chmfile):
                     dochome = chmfile
-                    print "dochome =", dochome
             dochome = os.path.normpath(dochome)
             if os.path.isfile(dochome):
                 EditorWindow.help_url = dochome
@@ -314,20 +313,11 @@ class EditorWindow:
         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>>")
@@ -578,7 +568,12 @@ class EditorWindow:
     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 update_recent_files_list(self, new_file=None):
index 78f87187a23506242fdbb0ef2590f785ba8afbf1..55e949e386421b8a1db038012e668051587af8d8 100644 (file)
@@ -1,3 +1,12 @@
+What's New in IDLE 1.1a2?
+=========================
+
+*Release date: XX-JUL-2004*
+
+- checking sys.platform for substring 'win' was breaking IDLE docs on Mac
+  (darwin).  Also, Mac Safari browser requires full file:// URIs.  SF 900580.
+
+
 What's New in IDLE 1.1a1?
 =========================
 
index b7818846b3d9d5fb6e63bf125802c1f77b79e97b..3db1e0ae5eca45b6899f749218458ac1efa73357 100644 (file)
@@ -1,6 +1,7 @@
 "Dialog to specify or edit the parameters for a user configured help source."
 
 import os
+import sys
 
 from Tkinter import *
 import tkMessageBox
@@ -84,7 +85,7 @@ class GetHelpSourceDialog(Toplevel):
             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()
@@ -127,19 +128,30 @@ class GetHelpSourceDialog(Toplevel):
             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):
index 1731166b30d70330666c2d9b3ecfeda47ed7eb3b..18f3fe35903b06fb690fc7deb06987635dc9d727 100644 (file)
@@ -1 +1 @@
-IDLE_VERSION = "1.1a0"
+IDLE_VERSION = "1.1a2"