def WeatherDemo(handler, tropo):
    """
    """
    choices = tropo.Choices("[5 digits]").obj

    tropo.ask(choices,
              say="Please enter your 5 digit zip code.",
              attempts=3,
              bargein=True,
              name="zip",
              timeout=5,
              voice="dave")

    tropo.on(
        event="continue",
        #             next="%s/weather.py?uri=end" % THIS_URL,
        next="/weather.py?uri=end",
        say="Please hold.")

    tropo.on(
        event="error",
        #             next="%s/weather.py?uri=error" % THIS_URL,
        next="/weather.py?uri=error",
        say="Ann error occurred.")

    json = tropo.RenderJson()
    logging.info("Json result: %s " % json)
    pretty = tropo.PrettyJson()
    logging.info("WeatherDemo json: %s" % pretty)

    handler.response.out.write(pretty)
def RecordDemo(handler, tropo):

    url = "/receive_recording.py"
    choices_obj = tropo.Choices("", terminator="#").json
    tropo.record(say="Tell us about yourself", url=url, choices=choices_obj)
    json = tropo.RenderJson()
    logging.info("Json result: %s " % json)
    handler.response.out.write(json)
def HelloWorld(handler, tropo):
    """
    This is the traditional "Hello, World" function. The idiom is used throughout the API. We construct a Tropo object, and then flesh out that object by calling "action" functions (in this case, tropo.say). Then call tropo.Render, which translates the Tropo object into JSON format. Finally, we write the JSON object to the standard output, so that it will get POSTed back to the API.
    """
    tropo.say(["Hello, World", "How ya doing?"])
    json = tropo.RenderJson()
    logging.info("HelloWorld json: %s" % json)
    handler.response.out.write(json)
def RedirectDemo(handler, tropo):
    """
    Demonstration of redirecting to another number.
    """
    tropo.say("One moment please.")
    tropo.redirect(MY_PHONE)
    json = tropo.RenderJson()
    logging.info("RedirectDemo json: %s" % json)
    handler.response.out.write(json)
def SMSDemo(handler, tropo):

    tropo.message("Hello World",
                  YOUR_PHONE_NUMBER,
                  channel='TEXT',
                  network='SMS',
                  timeout=5)
    json = tropo.RenderJson()
    logging.info("Json result: %s " % json)
    handler.response.out.write(json)
 def post(self):
     tropo = tropo.Tropo()
     tropo.call(MY_PHONE,
                channel='TEXT',
                network='SMS',
                answerOnMedia='True')
     tropo.say("Wish you were here")
     json = tropo.RenderJson()
     logging.info("Json result: %s " % json)
     self.response.out.write(json)
def TransferDemo(handler, tropo):
    """
    Demonstration of transfering to another number
    """
    # http://www.s3fm.com/
    tropo.say("One moment please.")
    tropo.transfer(MY_PHONE)
    tropo.say("Hi. I am a robot")
    json = tropo.RenderJson()
    logging.info("TransferDemo json: %s" % json)
    handler.response.out.write(json)
def RecordHelloWorld(handler, tropo):
    """
    Demonstration of recording a message.
    """
    # http://www.s3fm.com/
    url = "/receive_recording.py"
    tropo.startRecording(url)
    tropo.say("Hello, World.")
    tropo.stopRecording()
    json = tropo.RenderJson()
    logging.info("RecordHelloWorld json: %s" % json)
    handler.response.out.write(json)
def ConferenceDemo(handler, tropo):
    tropo.say(
        "Have some of your friends launch this demo. You'll be on the world's simplest conference call. Now, for a little music, while we wait for the others."
    )
    tropo.conference("partyline", terminator="#", name="Family Meeting")
    tropo.say(
        "http://denalidomain.com/music/keepers/Fontella%20Bass%20This%20Little%20Light%20Of%20Mine.mp3"
    )
    #    tropo.call(MY_PHONE)

    #    tropo.call(THEIR_PHONE)
    tropo.say("How do you like the conference so far?")
    json = tropo.RenderJson()
    logging.info("CallDemo json: %s " % json)
    handler.response.out.write(json)
Example #10
0
    def post(self):
        if (1):
            tropo = tropo.Tropo()
            tropo.say("Welcome to the Tropo web API demo")

            request = "Please press"
            choices_string = ""
            choices_counter = 1
            for key in sorted(DEMOS.iterkeys()):
                if (len(choices_string) > 0):
                    choices_string = "%s,%s" % (choices_string,
                                                choices_counter)
                else:
                    choices_string = "%s" % (choices_counter)
                demo_name = DEMOS[key][0]
                demo = DEMOS[key][1]
                request = "%s %s for %s," % (request, key, demo_name)
                choices_counter += 1
            choices = tropo.Choices(choices_string).obj

            tropo.ask(choices,
                      say=request,
                      attempts=3,
                      bargein=True,
                      name="zip",
                      timeout=5,
                      voice="dave")

            tropo.on(event="continue",
                     next="/demo_continue.py",
                     say="Please hold.")

            tropo.on(event="error",
                     next="/demo_continue.py",
                     say="An error occurred.")

            json = tropo.RenderJson()
            logging.info("Json result: %s " % json)
            self.response.out.write(json)
Example #11
0
    def post(self):
        json = self.request.body
        logging.info("json: %s" % json)
        tropo = tropo.Tropo()
        result = tropo.Result(json)
        zip = result.getValue()
        google_weather_url = "%s?weather=%s&hl=en" % (GOOGLE_WEATHER_API_URL,
                                                      zip)
        resp = urlfetch.fetch(google_weather_url)

        logging.info("weather url: %s " % google_weather_url)
        if (resp.status_code == 200):
            xml = resp.content
            logging.info("weather xml: %s " % xml)
            doc = ElementTree.fromstring(xml)
            logging.info("doc: %s " % doc)
            condition = doc.find(
                "weather/current_conditions/condition").attrib['data']
            temp_f = doc.find(
                "weather/current_conditions/temp_f").attrib['data']
            wind_condition = doc.find(
                "weather/current_conditions/wind_condition").attrib['data']
            city = doc.find("weather/forecast_information/city").attrib['data']
            logging.info(
                "condition: %s temp_f: %s wind_condition: %s city: %s" %
                (condition, temp_f, wind_condition, city))
            tropo = tropo.Tropo()
            # condition: Partly Cloudy temp_f: 73 wind_condition: Wind: NW at 10 mph city: Portsmouth, NH
            temp = "%s degrees" % temp_f
            wind = self.english_expand(wind_condition)
            tropo.say(
                "Current city is %s . Weather conditions are %s. Temperature is %s. Winds are %s ."
                % (city, condition, temp, wind))
            json = tropo.RenderJson()

            self.response.out.write(json)
Example #12
0
 def __init__(self, tropo):
     self.tropo = tropo
     super(TropoJSONResponse, self).__init__(tropo.RenderJson(), mimetype='application/json')
Example #13
0
def CallDemo(handler, tropo):
    tropo.call(THEIR_PHONE)
    json = tropo.RenderJson()
    logging.info("CallDemo json: %s " % json)
    handler.response.out.write(json)