Skip to content

Instantly share code, notes, and snippets.

@Quantum-cross
Last active Aug 29, 2015
Embed
What would you like to do?
Notifyme! extension for IPython Notebook
# notifyme.py
'''
===
3/25/2014
Notifyme! - By Robert Cross (rcross@inventati.org)
Tested on IPython 0.13.1 and current master branch as of date above.
Distributed under the GPLv3 license
Default sound recorded by JamieBlam from Freesound.org
- License: http://creativecommons.org/licenses/by/3.0/
- Link: https://www.freesound.org/people/JamieBlam/sounds/146091/
===
-I got tired of listening to my laptop's fan speed to determine when my
20 minute calculations were done, so I created this simple extension.
-This is my first ever open source contribution so feel free to fix, add,
and improve upon my concept. I would love to see this built into IPython
Notebook itself!
-I left a few things incomplete such as directory
sanitation and file not found errors in changing the notification sound,
as I'm not sure of the "proper" way of doing it
-If you decide to modify and improve this extension, please send me an
e-mail letting me know what improvements you are making and why (for
my own learning purposes). Thank you!
===
Wishlist
-Proper directory sanitization
-Proper file not found error handling
-Detection of browser notification capabilities on load
-Detection of notification permissions on load, and display button if not given
===
Use:
%notifyme Notification Text
to display a native Firefox or Chrome desktop notification.
An accompianing sound effect can be played with a notification by calling:
%notifysound <./path/to/sound.mp3, none, default>
Use none to disable the sound, or default to use a built-in sound effect.
If this is your first time using notifyme, please run:
%fixnotify
in order to give IPython Notebook permission to display notifications.
===
'''
from IPython.display import HTML, Javascript, display
import mimetypes
sound = None
def request_permission(ipy):
display(HTML('''<button onclick=\"
(window.webkitNotifications||window.Notification).requestPermission()
\">Allow Notifications</button>'''))
def send_notification(line):
js='var notificationText="'+str(line)+'";var notificationImage="'+logo+'";new Notification(notificationText,{icon:notificationImage})||window.webkitNotifications.createNotification(notificationImage,notificationText,"").show()'
display(Javascript(js))
if sound:
display(HTML('<audio src="'+sound+'" autoplay ></object>'))
def change_notification_sound(line):
global sound
if line == 'none':
sound = None
elif line == 'default':
sound = default_sound
else:
with open(line,"rb") as f:
sounddata = f.read().encode("base64")
sound = "data:"+mimetypes.guess_type(line)[0]+";base64,"+sounddata
def load_ipython_extension(ipython):
ipython.register_magic_function(request_permission,'line','fixnotify')
ipython.register_magic_function(send_notification,'line','notifyme')
ipython.register_magic_function(change_notification_sound,'line','notifysound')
#I had escape character issues with the logo if the base64 encode had \n's
global logo
logo = logo.replace('\n','')
def unload_ipython_extension(ipython):
# I'm not sure what exactly should be done here?
print "unloading"
#Data for the default sound and logo image below
default_sound = """data:audio/ogg;base64,T2dnUwACAAAAAAAAAABFpPczAAAAADCj5gwBHgF2b3JiaXMAAAAAAUSsAAAAAAAAgDgBAAAAAAC4
AU9nZ1MAAAAAAAAAAAAARaT3MwEAAAAV1kmaDjL///////////////+BA3ZvcmJpcwsAAABMYXZm
NTMuMjEuMQEAAAATAAAAZW5jb2Rlcj1MYXZmNTMuMjEuMQEFdm9yYmlzIkJDVgEAQAAAJHMYKkal
cxaEEBpCUBnjHELOa+wZQkwRghwyTFvLJXOQIaSgQohbKIHQkFUAAEAAAIdBeBSEikEIIYQlPViS
gyc9CCGEiDl4FIRpQQghhBBCCCGEEEIIIYRFOWiSgydBCB2E4zA4DIPlOPgchEU5WBCDJ0HoIIQP
Qriag6w5CCGEJDVIUIMGOegchMIsKIqCxDC4FoQENSiMguQwyNSDC0KImoNJNfgahGdBeBaEaUEI
IYQkQUiQgwZByBiERkFYkoMGObgUhMtBqBqEKjkIH4QgNGQVAJAAAKCiKIqiKAoQGrIKAMgAABBA
URTHcRzJkRzJsRwLCA1ZBQAAAQAIAACgSIqkSI7kSJIkWZIlWZIlWZLmiaosy7Isy7IsyzIQGrIK
AEgAAFBRDEVxFAcIDVkFAGQAAAigOIqlWIqlaIrniI4IhIasAgCAAAAEAAAQNENTPEeURM9UVde2
bdu2bdu2bdu2bdu2bVuWZRkIDVkFAEAAABDSaWapBogwAxkGQkNWAQAIAACAEYowxIDQkFUAAEAA
AIAYSg6iCa0535zjoFkOmkqxOR2cSLV5kpuKuTnnnHPOyeacMc4555yinFkMmgmtOeecxKBZCpoJ
rTnnnCexedCaKq0555xxzulgnBHGOeecJq15kJqNtTnnnAWtaY6aS7E555xIuXlSm0u1Oeecc845
55xzzjnnnOrF6RycE84555yovbmWm9DFOeecT8bp3pwQzjnnnHPOOeecc84555wgNGQVAAAEAEAQ
ho1h3CkI0udoIEYRYhoy6UH36DAJGoOcQurR6GiklDoIJZVxUkonCA1ZBQAAAgBACCGFFFJIIYUU
UkghhRRiiCGGGHLKKaeggkoqqaiijDLLLLPMMssss8w67KyzDjsMMcQQQyutxFJTbTXWWGvuOeea
g7RWWmuttVJKKaWUUgpCQ1YBACAAAARCBhlkkFFIIYUUYogpp5xyCiqogNCQVQAAIACAAAAAAE/y
HNERHdERHdERHdERHdHxHM8RJVESJVESLdMyNdNTRVV1ZdeWdVm3fVvYhV33fd33fd34dWFYlmVZ
lmVZlmVZlmVZlmVZliA0ZBUAAAIAACCEEEJIIYUUUkgpxhhzzDnoJJQQCA1ZBQAAAgAIAAAAcBRH
cRzJkRxJsiRL0iTN0ixP8zRPEz1RFEXTNFXRFV1RN21RNmXTNV1TNl1VVm1Xlm1btnXbl2Xb933f
933f933f933f931dB0JDVgEAEgAAOpIjKZIiKZLjOI4kSUBoyCoAQAYAQAAAiuIojuM4kiRJkiVp
kmd5lqiZmumZniqqQGjIKgAAEABAAAAAAAAAiqZ4iql4iqh4juiIkmiZlqipmivKpuy6ruu6ruu6
ruu6ruu6ruu6ruu6ruu6ruu6ruu6ruu6ruu6rguEhqwCACQAAHQkR3IkR1IkRVIkR3KA0JBVAIAM
AIAAABzDMSRFcizL0jRP8zRPEz3REz3TU0VXdIHQkFUAACAAgAAAAAAAAAzJsBTL0RxNEiXVUi1V
Uy3VUkXVU1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU3TNE0TCA1ZCQAAAQDQWnPM
rZeOQeisl8gopKDXTjnmpNfMKIKc5xAxY5jHUjFDDMaWQYSUBUJDVgQAUQAAgDHIMcQccs5J6iRF
zjkqHaXGOUepo9RRSrGmWjtKpbZUa+Oco9RRyiilWkurHaVUa6qxAACAAAcAgAALodCQFQFAFAAA
gQxSCimFlGLOKeeQUso55hxiijmnnGPOOSidlMo5J52TEimlnGPOKeeclM5J5pyT0kkoAAAgwAEA
IMBCKDRkRQAQJwDgcBxNkzRNFCVNE0VPFF3XE0XVlTTNNDVRVFVNFE3VVFVZFk1VliVNM01NFFVT
E0VVFVVTlk1VtWXPNG3ZVFXdFlXVtmVb9n1XlnXdM03ZFlXVtk1VtXVXlnVdtm3dlzTNNDVRVFVN
FFXXVFXbNlXVtjVRdF1RVWVZVFVZdl1Z11VX1n1NFFXVU03ZFVVVllXZ1WVVlnVfdFXdVl3Z11VZ
1n3b1oVf1n3CqKq6bsqurquyrPuyLvu67euUSdNMUxNFVdVEUVVNV7VtU3VtWxNF1xVV1ZZFU3Vl
VZZ9X3Vl2ddE0XVFVZVlUVVlWZVlXXdlV7dFVdVtVXZ933RdXZd1XVhmW/eF03V1XZVl31dlWfdl
XcfWdd/3TNO2TdfVddNVdd/WdeWZbdv4RVXVdVWWhV+VZd/XheF5bt0XnlFVdd2UXV9XZVkXbl83
2r5uPK9tY9s+sq8jDEe+sCxd2za6vk2Ydd3oG0PhN4Y007Rt01V13XRdX5d13WjrulBUVV1XZdn3
VVf2fVv3heH2fd8YVdf3VVkWhtWWnWH3faXuC5VVtoXf1nXnmG1dWH7j6Py+MnR1W2jrurHMvq48
u3F0hj4CAAAGHAAAAkwoA4WGrAgA4gQAGIScQ0xBiBSDEEJIKYSQUsQYhMw5KRlzUkIpqYVSUosY
g5A5JiVzTkoooaVQSkuhhNZCKbGFUlpsrdWaWos1hNJaKKW1UEqLqaUaW2s1RoxByJyTkjknpZTS
Wiiltcw5Kp2DlDoIKaWUWiwpxVg5JyWDjkoHIaWSSkwlpRhDKrGVlGIsKcXYWmy5xZhzKKXFkkps
JaVYW0w5thhzjhiDkDknJXNOSiiltVJSa5VzUjoIKWUOSiopxVhKSjFzTkoHIaUOQkolpRhTSrGF
UmIrKdVYSmqxxZhzSzHWUFKLJaUYS0oxthhzbrHl1kFoLaQSYyglxhZjrq21GkMpsZWUYiwp1RZj
rb3FmHMoJcaSSo0lpVhbjbnGGHNOseWaWqy5xdhrbbn1mnPQqbVaU0y5thhzjrkFWXPuvYPQWiil
xVBKjK21WluMOYdSYisp1VhKirXFmHNrsfZQSowlpVhLSjW2GGuONfaaWqu1xZhrarHmmnPvMebY
U2s1txhrTrHlWnPuvebWYwEAAAMOAAABJpSBQkNWAgBRAAAEIUoxBqFBiDHnpDQIMeaclIox5yCk
UjHmHIRSMucglJJS5hyEUlIKpaSSUmuhlFJSaq0AAIACBwCAABs0JRYHKDRkJQCQCgBgcBzL8jxR
NFXZdizJ80TRNFXVth3L8jxRNE1VtW3L80TRNFXVdXXd8jxRNFVVdV1d90RRNVXVdWVZ9z1RNFVV
dV1Z9n3TVFXVdWVZtoVfNFVXdV1ZlmXfWF3VdWVZtnVbGFbVdV1Zlm1bN4Zb13Xd94VhOTq3buu6
7/vC8TvHAADwBAcAoAIbVkc4KRoLLDRkJQCQAQBAGIOQQUghgxBSSCGlEFJKCQAAGHAAAAgwoQwU
GrISAIgCAAAIkVJKKY2UUkoppZFSSimllBJCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBC
CAUA+E84APg/2KApsThAoSErAYBwAADAGKWYcgw6CSk1jDkGoZSUUmqtYYwxCKWk1FpLlXMQSkmp
tdhirJyDUFJKrcUaYwchpdZarLHWmjsIKaUWa6w52BxKaS3GWHPOvfeQUmsx1lpz772X1mKsNefc
gxDCtBRjrrn24HvvKbZaa809+CCEULHVWnPwQQghhIsx99yD8D0IIVyMOecehPDBB2EAAHeDAwBE
go0zrCSdFY4GFxqyEgAICQAgEGKKMeecgxBCCJFSjDnnHIQQQiglUoox55yDDkIIJWSMOecchBBC
KKWUjDHnnIMQQgmllJI55xyEEEIopZRSMueggxBCCaWUUkrnHIQQQgillFJK6aCDEEIJpZRSSikh
hBBCCaWUUkopJYQQQgmllFJKKaWEEEoopZRSSimllBBCKaWUUkoppZQSQiillFJKKaWUkkIppZRS
SimllFJSKKWUUkoppZRSSgmllFJKKaWUlFJJBQAAHDgAAAQYQScZVRZhowkXHoBCQ1YCAEAAABTE
VlOJnUHMMWepIQgxqKlCSimGMUPKIKYpUwohhSFziiECocVWS8UAAAAQBAAICAkAMEBQMAMADA4Q
PgdBJ0BwtAEACEJkhkg0LASHB5UAETEVACQmKOQCQIXFRdrFBXQZ4IIu7joQQhCCEMTiAApIwMEJ
Nzzxhifc4ASdolIHAQAAAABwAAAPAADHBRAR0RxGhsYGR4fHB0hIAAAAAADIAMAHAMAhAkRENIeR
obHB0eHxARISAAAAAAAAAAAABAQEAAAAAAACAAAABARPZ2dTAATAWgIAAAAAAEWk9zMCAAAAxg/z
xJkuL+C5h3p5dW5kXmJmZmVoX2FjXmBgY2RkYmJtam58f3+GgYmWj5CQlpuPmZ+YmqSakpmcn56n
oZ6ZoaGcnJqhn6CanZ6hpKehn5mcoqGToaKhmZ6fl6Cgnpmbmp2cnp6jo5+enaqio5+cpKqfnaOn
oaOcsKaknJ2no6ignKSjoKSaop6hnJyjnJmZoJ+cnJ+dnZmTnJmUoJIcRSsT73avT9UQ2iO7xgCa
2n+yrEa2tO9PAvP9R22yTPrqxHPlPjc6PHq8R7MDZN/oE7DXdyT1YhM+QAMFAM05n/zhCi3JeLEl
TKmIzxZVH13NLUQMzaDqZM+EcAgaila5u9S/tRb4a+p+bFcdK2UFAIgF24C2BMCBA3oBEJUAlAcA
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"""
logo = """data:image/png;base64,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
g9iTpWLxtrFy+cHDYfhm8Aj2bsKDNZchVRXUUacrf4dDi7ZLgROwfwDstD0Vr3WY4Ka/hsYGhm1q
fRq9l3lXvrTP9nqkfwVOAj6O/R7qff5WRlXVZ3sv0lVq1T2802qCHDnC/jYif6XtMxqkQhWYjhnl
FQ2dYo9vMRlVYDrepJ4Wd0sat30/8PFYpPUM9mNdSKtqqVh8byw1vVgwhH1qxoWtCp5vekPtGUnT
SNUc11dVuH8z+ND+c2MhwbgN+DNCcvVCSUupxVnCNU7GROx1Y+XyM62IGaVjiA+1v5Ez2LVr6I4w
hkcsndlUndRzQ9m8xZ4W8YLNwNNRZO/uJWFGy2VKxeIvMq7hA24XPGttSB8YKRavBm6OWdvjIgHG
sXcRMuXVJjf7FsMm7KqkZ9pMzB1V+LagKqmpZIgR3t2lYvFK4EbbZ1BbjPZuwdNIO+eVotIzhjPj
vO1rI112WnqtpT6C/bdo4YMXHNEovEdwmUM2+8yYgU1YBBwNj785Hjg3SrjH1eVDzBOOAcJE6fL+
GPGcAf5ptE2db8IiekkvJsQCq9ozEfsIpZeXAtfG+MlPlbdff8LRT5hIkC8CgwTj7GTC01b6ZR8w
fHi0UplKU5oIk1WfZwFF1Qu3AXYbNiBtS9OZCJPFTOzzvyZGnCcJlf8PSdp7hHZ9SEhISEhISEhI
SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEg4PPh/cUIk
hVGc3nQAAAAASUVORK5CYII="""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment