This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Failed to load latest commit information.
GoogleVoiceNotify polls the Google Voice XML pages (http://posttopic.com/topic/google-voice-add-on-development), and sends notifications to any number of registered listeners. At the moment, the Notifier only supports SMS notifications, but adding voicemail, missed calls, etc, is just a matter of writing scrapers for those as well. Requires: 1. BeautifulSoup (http://www.crummy.com/software/BeautifulSoup/) 2. prowlpy (http://github.com/jacobb/prowlpy/tree/master) (which also has its own dependencies such as httplib2) I've also included a sample client for GoogleVoiceNotify that sends notifications to Prowl (http://prowl.weks.net/), which sends iPhone push notifications. To use the Prowl listener, you need to create two files in your home directory. ~/.prowlapi (should just contain your Prowl API key) (optionally) ~/.gvnotify (a config file that should look as follows): gvid=yourusername password=yourpassword sleep=sleeptime (in seconds) If you don't make a credentials file, then the prowlgooglevoice.py script will prompt you for a username/password on the command line and default to 60 seconds. then just do: python prowlgooglevoice.py in the same folder where the prowlgooglevoice.py, googlevoicenotify.py files are. I've also included a bash script that launches/controls the notifier, written by James Bair (in tools/prowl-gv.sh) and a Python daemon written by Brian Baughman (in tools/gv2prowldaemon.py) Usage: from googlevoicenotify import GoogleVoiceNotify gv = GoogleVoiceNotify('username', 'password') gv.check() Though you'll probably want to register at least one listener: class PrintListener(object): def on_notification(self, event, name, message): print "(%s) %s said %s" % (event, name, message) from googlevoicenotify import GoogleVoiceNotify import time print_listener = PrintListener() gv = GoogleVoiceNotify('your_username', 'your_password', listeners=print_listener) while True: gv.check() time.sleep(60)