[Python-checkins] r80699 - in python/branches/py3k: Lib/webbrowser.py Misc/NEWS

ronald.oussoren python-checkins at python.org
Sun May 2 11:54:36 CEST 2010


Author: ronald.oussoren
Date: Sun May  2 11:54:35 2010
New Revision: 80699

Log:
Merged revisions 80698 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80698 | ronald.oussoren | 2010-05-02 11:48:21 +0200 (Sun, 02 May 2010) | 3 lines
  
  For for issue #7192: with this patch webbrowser.get("firefox")
  works on OSX
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/webbrowser.py
   python/branches/py3k/Misc/NEWS

Modified: python/branches/py3k/Lib/webbrowser.py
==============================================================================
--- python/branches/py3k/Lib/webbrowser.py	(original)
+++ python/branches/py3k/Lib/webbrowser.py	Sun May  2 11:54:35 2010
@@ -600,9 +600,35 @@
             rc = osapipe.close()
             return not rc
 
+    class MacOSXOSAScript(BaseBrowser):
+        def __init__(self, name):
+            self._name = name
+
+        def open(self, url, new=0, autoraise=True):
+            if self._name == 'default':
+                script = 'open location "%s"' % url.replace('"', '%22') # opens in default browser
+            else:
+                script = '''
+                   tell application "%s"
+                       activate
+                       open location "%s"
+                   end
+                   '''%(self._name, url.replace('"', '%22'))
+
+            osapipe = os.popen("osascript", "w")
+            if osapipe is None:
+                return False
+
+            osapipe.write(script)
+            rc = osapipe.close()
+            return not rc
+
+
     # Don't clear _tryorder or _browsers since OS X can use above Unix support
     # (but we prefer using the OS X specific stuff)
-    register("MacOSX", None, MacOSX('default'), -1)
+    register("safari", None, MacOSXOSAScript('safari'), -1)
+    register("firefox", None, MacOSXOSAScript('firefox'), -1)
+    register("MacOSX", None, MacOSXOSAScript('default'), -1)
 
 
 #

Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Sun May  2 11:54:35 2010
@@ -345,6 +345,9 @@
 Library
 -------
 
+- Issue #7192: webbrowser.get("firefox") now wors on Mac OS X, as does
+  webbrowser.get("safari").
+
 - Issue #8464: tarfile no longer creates files with execute permissions set
   when mode="w|" is used.
 


More information about the Python-checkins mailing list