def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In PlaybackNearlyFinishedHandler") logger.info("Playback nearly finished") request = handler_input.request_envelope.request return util.play_later(url=util.audio_data(request)["url"], card_data=util.audio_data(request)["card"], response_builder=handler_input.response_builder)
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In ResumeIntentHandler") request = handler_input.request_envelope.request _ = handler_input.attributes_manager.request_attributes["_"] speech = _(data.RESUME_MSG).format( util.audio_data(request)["card"]["title"]) return util.play(url=util.audio_data(request)["url"], offset=0, text=speech, card_data=util.audio_data(request)["card"], response_builder=handler_input.response_builder)
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In LaunchRequestOrPlayAudioHandler") _ = handler_input.attributes_manager.request_attributes["_"] request = handler_input.request_envelope.request return util.play(url=util.audio_data(request)["url"], offset=0, text=_(data.WELCOME_MSG).format( util.audio_data(request)["card"]["name"]), card_data=util.audio_data(request)["card"], response_builder=handler_input.response_builder)
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In HelpIntentHandler") handler_input.response_builder.speak( data.HELP_MSG.format( util.audio_data(handler_input.request_envelope.request)["card"] ["title"])).set_should_end_session(False) return handler_input.response_builder.response
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In PlaybackFailedHandler") request = handler_input.request_envelope.request logger.info("Playback failed: {}".format(request.error)) return util.play(url=util.audio_data(request)["url"], offset=0, text=None, card_data=None, response_builder=handler_input.response_builder)
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In PlayCommandHandler") _ = handler_input.attributes_manager.request_attributes["_"] request = handler_input.request_envelope.request return util.play(url=util.audio_data(request)["url"], offset=0, text=None, card_data=None, response_builder=handler_input.response_builder)
def handle(self, handler_input, exception): # type: (HandlerInput, Exception) -> Response logger.info("In CatchAllExceptionHandler") logger.error(exception, exc_info=True) _ = handler_input.attributes_manager.request_attributes["_"] handler_input.response_builder.speak(_(data.UNHANDLED_MSG)).ask( _(data.HELP_MSG).format( util.audio_data( handler_input.request_envelope.request)["card"]["title"])) return handler_input.response_builder.response
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In LaunchRequestOrPlayAudioHandler") request = handler_input.request_envelope.request # can add a default song here to play back speech = data.WELCOME_MSG.format( util.audio_data(request)["card"]["title"]) return handler_input.response_builder.speak( speech).set_should_end_session(False).response
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In PlayGeneratedMusicHandler") request = handler_input.request_envelope.request slots = request.intent.slots song_name = self.get_song_resolved_value(slots) tmp_mma_file_name = os.path.join( "song_data", self.__get_file_name_underscore(song_name)) logger.info("Looking for file path: {}".format(tmp_mma_file_name)) if os.path.exists(tmp_mma_file_name): request_id_holder = handler_input.request_envelope.request.request_id directive_header = Header(request_id=request_id_holder) speech = SpeakDirective(speech=random.choice( data.PROGRESSIVE_RESPONSE).format(song_name)) directive_request = SendDirectiveRequest(header=directive_header, directive=speech) directive_service_client = handler_input.service_client_factory.get_directive_service( ) directive_service_client.enqueue(directive_request) user_id = handler_input.request_envelope.session.user.user_id tempo = slots.get("Tempo").value key = slots.get("Key").value backing_track_url = BackingTrackGenerator().get_backing_track( slots) self.save_context(backing_track_url, user_id, song_name, tempo, key) generated_song_text = data.GENERATED_SONG.format(song_name) if key: generated_song_text += data.GENERATED_SONG_KEY.format(key) if tempo: generated_song_text += data.GENERATED_SONG_TEMPO.format(tempo) return util.play(url=backing_track_url, offset=0, text=generated_song_text, card_data=util.audio_data(request)["card"], response_builder=handler_input.response_builder) else: return handler_input.response_builder.speak( "Sorry, I couldn't find a lead sheet called {}".format( song_name)).response
def handle(self, handler_input): # type: (HandlerInput) -> Response request = handler_input.request_envelope.request user_id = handler_input.request_envelope.session.user.user_id song_data = self.get_context(user_id) generated_song_text = data.GENERATED_SONG.format( song_data["song_name"]) if song_data["key"]: generated_song_text += data.GENERATED_SONG_KEY.format( song_data["key"]) if song_data["tempo"]: generated_song_text += data.GENERATED_SONG_TEMPO.format( song_data["tempo"]) return util.play(url=song_data["backing_track_url"], offset=0, text=generated_song_text, card_data=util.audio_data(request)["card"], response_builder=handler_input.response_builder)