示例#1
0
def create_skill():
  skill_adapter = SkillAdapter(
    skill=sb.create(), 
    skill_id="amzn1.ask.skill.bd7515ac-93e7-48c6-b2b5-58dcd0fb0951", 
    app=app)
  # Déclaration de la route
  skill_adapter.register(app=app, route="/alexa")
示例#2
0
def create_app():
    print("************** create_app")
    app = Flask(__name__)
    skill_adapter = SkillAdapter(
        skill=sb.create(),
        skill_id="amzn1.ask.skill.bd7515ac-93e7-48c6-b2b5-58dcd0fb0951",
        app=app)
    skill_adapter.register(app=app, route="/alexa")

    return app
示例#3
0
    def test_register_url_rule_with_endpoint(self):
        mock_app = mock.MagicMock(Flask)
        test_skill_adapter = SkillAdapter(
            skill=self.mock_skill, skill_id=self.skill_id)

        test_skill_adapter.register(app=mock_app, route="/", endpoint="test")

        mock_app.add_url_rule.assert_called_with(
            "/", endpoint="test", methods=['POST'],
            view_func=test_skill_adapter.dispatch_request)
示例#4
0
    def test_register_url_rule_no_route_throw_exception(self):
        test_skill_adapter = SkillAdapter(
            skill=self.mock_skill, skill_id=self.skill_id)

        with self.assertRaises(TypeError) as exc:
            test_skill_adapter.register(app=self.test_app, route=None)

        self.assertIn(
            "Expected a valid URL rule string", str(exc.exception),
            "register method didn't throw exception when no route was passed")
示例#5
0
    def test_register_url_rule_no_app_throw_exception(self):
        test_skill_adapter = SkillAdapter(
            skill=self.mock_skill, skill_id=self.skill_id)

        with self.assertRaises(TypeError) as exc:
            test_skill_adapter.register(app=None, route="/")

        self.assertIn(
            "Expected a valid Flask instance", str(exc.exception),
            "register method didn't throw exception when no app was passed")
示例#6
0
# defined are included below. The order matters - they're processed top to bottom.


@app.route('/ddog/webhook')
def alert(payload):
    return payload


sb = SkillBuilder()

sb.add_request_handler(LaunchRequestHandler())
sb.add_request_handler(GetMetricsIntentHandler())
sb.add_request_handler(HelpIntentHandler())
sb.add_request_handler(CancelOrStopIntentHandler())
sb.add_request_handler(SessionEndedRequestHandler())
# make sure IntentReflectorHandler is last so it doesn't override your custom intent handlers
sb.add_request_handler(IntentReflectorHandler())

sb.add_global_request_interceptor(LocalizationInterceptor())

sb.add_exception_handler(CatchAllExceptionHandler())

skill_response = SkillAdapter(
    skill=sb.create(),
    skill_id="amzn1.ask.skill.1fd6a485-84ff-406c-aba1-75007ce3df11",
    app=app)

skill_response.register(app=app, route="/")
if __name__ == '__main__':
    app.run()
示例#7
0
@sb.exception_handler(can_handle_func=lambda i, e: True)
def all_exception_handler(handler_input, exception):
    """Catch all exception handler, log exception and
    respond with custom message.
    """
    # type: (HandlerInput, Exception) -> Response
    logger.error(exception, exc_info=True)

    speech = "Sorry, there was some problem. Please try again!!"
    handler_input.response_builder.speak(speech).ask(speech)

    return handler_input.response_builder.response


#handler = sb.lambda_handler()
skill_adapter = SkillAdapter(
    skill=sb.create(),
    skill_id="amzn1.ask.skill.6fbbb190-9c92-4a5f-bfb6-fd9ec2d8c860",
    app=app)

skill_adapter.register(app=app, route="/")

# @app.route("/")
# def invoke_skill():
#    print("invokte_skill")
#    return skill_adapter.dispatch_request()

if __name__ == '__main__':
    app.run(debug=True, port=8050)
示例#8
0
文件: pilot.py 项目: thaughbaer/pilot
    else:
        speech_text = 'Passenger {} is not on the manifest.'.format(hostname)

    return handler_input.response_builder.speak(speech_text).response


@skill_builder.request_handler(can_handle_func=is_request_type('SessionEndedRequest'))
def session_ended_request_handler(handler_input):
    return handler_input.response_builder.response


@skill_builder.global_request_interceptor()
def request_logger(handler_input):
    app.logger.debug('Request received: {}'.format(handler_input.request_envelope.request))


@skill_builder.global_response_interceptor()
def response_logger(handler_input, response):
    app.logger.debug('Response generated: {}'.format(response))


skill_response = SkillAdapter(skill=skill_builder.create(), skill_id=config['applicationId'], app=app)

skill_response.register(app=app, route='/')


if __name__ == '__main__':

    app.run(host = '0.0.0.0', debug = True)

示例#9
0
@skill_builder.exception_handler(can_handle_func=lambda i, e: True)
def all_exception_handler(handler_input, exception):
    # """Catch all exception handler, log exception and
    # respond with custom message.
    # """
    # type: (HandlerInput, Exception) -> Response
    logger.error(exception, exc_info=True)

    speech = "Sorry, there was some problem. Please try again!!"
    handler_input.response_builder.speak(speech).ask(speech)

    return handler_input.response_builder.response


# skill_id="amzn1.ask.skill.e909e9d9-3ad7-4563-bbfe-ec0247ab3f7a"
skill_adapter = SkillAdapter(skill=skill_builder.create(),
                             skill_id=10,
                             app=app)

skill_adapter.register(app=app, route="/moveplan")


@app.route('/heartbeat')
def default_route():
    """Default route to return a simple message"""
    return jsonify('hi! I am alive')


if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)