def reps(): r = twiml.Response() if 'Digits' in request.form: digits = request.form.get('Digits', None) if digits == '0': r.redirect('/voice') return r # shortcut the process and start over else: selection = int(digits) - 1 legislator = data.legislators_for_zip(g.zipcode)[selection] g.call['context']['legislator'] = legislator else: legislator = g.legislator r.play('http://assets.sunlightfoundation.com/projects/transparencyconnect/audio/mainmenu-intro.wav') r.say('%s' % legislator['fullname']) with r.gather(numDigits=1, timeout=30, action='/voice/rep') as rg: rg.play('http://assets.sunlightfoundation.com/projects/transparencyconnect/audio/mainmenu.wav') return r
def zipcode(): """ Handles POSTed zipcode and prompts for legislator selection. """ zipcode = request.form.get('Digits', g.zipcode) r = twiml.Response() if zipcode == '00000': r.say(""" Welcome to movie phone. You seem like the type of person that would enjoy The Twilight Saga: Breaking Dawn Part 1. The best showings are during the day, but you'll be stuck in middle school. Ha ha ha. Loser. """) else: g.call['context']['zipcode'] = zipcode legislators = data.legislators_for_zip(zipcode) if legislators: options = [(l['fullname'], l['bioguide_id']) for l in legislators] script = " ".join("Press %i for %s." % (index + 1, o[0]) for index, o in enumerate(options)) script += " Press 0 to enter a new zipcode." if len(legislators) > 3: r.play('http://assets.sunlightfoundation.com/projects/transparencyconnect/audio/selectlegalt.wav') else: r.play('http://assets.sunlightfoundation.com/projects/transparencyconnect/audio/selectleg.wav') with r.gather(numDigits=1, timeout=10, action='/voice/reps') as rg: rg.say(script) else: r.say("I'm sorry, I wasn't able to locate any representatives for %s." % (" ".join(zipcode),)) with r.gather(numDigits=5, timeout=10, action='/voice/zipcode') as rg: rg.say("Please try again or enter a new zipcode.") return r