Next Safari Browser written in Python?

Go to http://nightly.webkit.org/builds/ and download WebKit++SVG, then do this:

$ cat /Volumes/WebKit+SVG/WebKit+SVG.app/Contents/Resources/main.py 
#!/usr/bin/env python

import os, sys
from Foundation import NSBundle
from LaunchServices.Launch import LSFindApplicationForInfo
from Carbon.CoreFoundation import kCFURLPOSIXPathStyle
kLSUnknownCreator = 'x00x00x00x00'

def pathForName(appName):
    """
    Returns the file system path for an application by name.
    NOTE: You should include the suffix, as in "Python.app".
    """
    fsRef, cfURL = LSFindApplicationForInfo(kLSUnknownCreator, None, appName)
    return cfURL.CFURLCopyFileSystemPath(kCFURLPOSIXPathStyle).toPython()

frameworkPath = NSBundle.mainBundle().resourcePath().encode('utf8')

safariPath = pathForName('Safari.app')
if safariPath:
    safariPath = NSBundle.bundleWithPath_(safariPath).executablePath()
    os.environ['DYLD_FRAMEWORK_PATH'] = frameworkPath
    os.environ['WEBKIT_UNSET_DYLD_FRAMEWORK_PATH'] = 'YES'
    os.execve(safariPath, [safariPath] + sys.argv[1:], {'DYLD_FRAMEWORK_PATH': frameworkPath, 'WEBKIT_UNSET_DYLD_FRAMEWORK_PATH': 'YES'})

So the nightly builds are coded in Python ;-)

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s