Skip to content
A python Google Voice notification client
Python Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tools
CREDITS
README
googlevoicenotify.py
prowlgooglevoice.py

README

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)

You can’t perform that action at this time.