mach: fix OS X notifications

This commit is contained in:
Tamir Duberstein 2015-09-26 16:04:46 -04:00
parent d39c8546b6
commit b6bbd75479

View file

@ -66,19 +66,20 @@ def notify_win(title, text):
def notify_darwin(title, text): def notify_darwin(title, text):
try: try:
import Foundation import Foundation
import objc
NSUserNotification = objc.lookUpClass("NSUserNotification") bundleDict = Foundation.NSBundle.mainBundle().infoDictionary()
NSUserNotificationCenter = objc.lookUpClass("NSUserNotificationCenter") bundleIdentifier = 'CFBundleIdentifier'
if bundleIdentifier not in bundleDict:
bundleDict[bundleIdentifier] = 'mach'
note = NSUserNotification.alloc().init() note = Foundation.NSUserNotification.alloc().init()
note.setTitle_(title) note.setTitle_(title)
note.setInformativeText_(text) note.setInformativeText_(text)
now = Foundation.NSDate.dateWithTimeInterval_sinceDate_(0, Foundation.NSDate.date()) now = Foundation.NSDate.dateWithTimeInterval_sinceDate_(0, Foundation.NSDate.date())
note.setDeliveryDate_(now) note.setDeliveryDate_(now)
centre = NSUserNotificationCenter.defaultUserNotificationCenter() centre = Foundation.NSUserNotificationCenter.defaultUserNotificationCenter()
centre.scheduleNotification_(note) centre.scheduleNotification_(note)
except ImportError: except ImportError:
raise Exception("Please make sure that the Python pyobjc module is installed!") raise Exception("Please make sure that the Python pyobjc module is installed!")