From bb426d3575565becb245f7ac952314f5cf362a71 Mon Sep 17 00:00:00 2001 From: Michael Tremel Date: Sat, 27 Jun 2015 17:13:36 -0700 Subject: [PATCH] notify_darwin should trap import errors and provide the useful package name for the user to install. --- python/servo/build_commands.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index 74509da6b3e..dd2fbb52c8e 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -64,21 +64,24 @@ def notify_win(title, text): def notify_darwin(title, text): - import Foundation - import objc + try: + import Foundation + import objc - NSUserNotification = objc.lookUpClass("NSUserNotification") - NSUserNotificationCenter = objc.lookUpClass("NSUserNotificationCenter") + NSUserNotification = objc.lookUpClass("NSUserNotification") + NSUserNotificationCenter = objc.lookUpClass("NSUserNotificationCenter") - note = NSUserNotification.alloc().init() - note.setTitle_(title) - note.setInformativeText_(text) + note = NSUserNotification.alloc().init() + note.setTitle_(title) + note.setInformativeText_(text) - now = Foundation.NSDate.dateWithTimeInterval_sinceDate_(0, Foundation.NSDate.date()) - note.setDeliveryDate_(now) + now = Foundation.NSDate.dateWithTimeInterval_sinceDate_(0, Foundation.NSDate.date()) + note.setDeliveryDate_(now) - centre = NSUserNotificationCenter.defaultUserNotificationCenter() - centre.scheduleNotification_(note) + centre = NSUserNotificationCenter.defaultUserNotificationCenter() + centre.scheduleNotification_(note) + except ImportError: + raise Exception("Please make sure that the Python pyobjc module is installed!") def notify_build_done(elapsed):