# HG changeset patch # User Atul Varma # Date 1269719489 25200 # Node ID 4285e37bea696cae9ce197f82c2fec056b540f76 # Parent 41bc597758727b086e3df8458c6f279bd885f15a added workaround for getting photoshop merged selection, applescript failures now raise exceptiosn diff -r 41bc59775872 -r 4285e37bea69 my-enso-commands.py --- a/my-enso-commands.py Sat Mar 27 12:19:32 2010 -0700 +++ b/my-enso-commands.py Sat Mar 27 12:51:29 2010 -0700 @@ -54,6 +54,26 @@ return time.strftime("%Y%m%d%H%M%S") +def _get_current_app(): + import AppKit + + app = AppKit.NSWorkspace.sharedWorkspace().activeApplication() + return app.objectForKey_("NSApplicationBundleIdentifier") + +def maybe_export_photoshop_clipboard(func): + def wrapper(*args, **kwargs): + if _get_current_app() == 'com.adobe.Photoshop': + _runAppleScript('tell application "Adobe Photoshop CS3" ' + 'to copy merged') + _runAppleScript('tell application "Finder" to activate') + retval = func(*args, **kwargs) + _runAppleScript('tell application "Adobe Photoshop CS3" ' + 'to activate') + return retval + return func(*args, **kwargs) + return wrapper + +@maybe_export_photoshop_clipboard def _get_clipboard_img_datafile(): import AppKit @@ -748,6 +768,8 @@ def _runAppleScript( script ): params = [ "osascript", "-e", script ] popen = subprocess.Popen( params ) + if popen.wait(): + raise Exception("Applescript failed: %s" % script) def cmd_screen_saver(ensoapi): """