##// END OF EJS Templates
Major restructuring of magics, breaking them up into separate classes....
Major restructuring of magics, breaking them up into separate classes. This is the first step to get the new magic architecture in place, with a new base class for magic functions. At this point IPython does *not* run, but the changes are extensive enough to warrant intermediate non-working commits.

File last commit:

r5390:c82649ea
r6917:6c6e057a
Show More
growl.py
65 lines | 1.8 KiB | text/x-python | PythonLexer
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234 # encoding: utf-8
Brian Granger
Minor cleanup in iptest.py and growl.py.
r2512 """
Utilities using Growl on OS X for notifications.
"""
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234
Brian Granger
Minor cleanup in iptest.py and growl.py.
r2512 #-----------------------------------------------------------------------------
Matthias BUSSONNIER
update copyright to 2011/20xx-2011...
r5390 # Copyright (C) 2008-2011 The IPython Development Team
Brian Granger
Minor cleanup in iptest.py and growl.py.
r2512 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234
class IPythonGrowlError(Exception):
pass
class Notifier(object):
def __init__(self, app_name):
try:
import Growl
except ImportError:
self.g_notifier = None
else:
self.g_notifier = Growl.GrowlNotifier(app_name, ['kernel', 'core'])
self.g_notifier.register()
def _notify(self, title, msg):
if self.g_notifier is not None:
Bernardo B. Marques
remove all trailling spaces
r4872 self.g_notifier.notify('core', title, msg)
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234
def notify(self, title, msg):
self._notify(title, msg)
def notify_deferred(self, r, msg):
title = "Deferred Result"
msg = msg + '\n' + repr(r)
self._notify(title, msg)
return r
_notifier = None
def notify(title, msg):
pass
def notify_deferred(r, msg):
return r
def start(app_name):
global _notifier, notify, notify_deferred
if _notifier is not None:
raise IPythonGrowlError("this process is already registered with Growl")
else:
_notifier = Notifier(app_name)
notify = _notifier.notify
notify_deferred = _notifier.notify_deferred