def can_handle(self, handler_input): # type: (HandlerInput) -> bool playback_info = util.get_playback_info(handler_input) return (not playback_info.get("in_playback_session") and (is_intent_name("AMAZON.CancelIntent")(handler_input) or is_intent_name("AMAZON.StopIntent")(handler_input)))
def can_handle(self, handler_input): # type: (HandlerInput) -> bool playback_info = util.get_playback_info(handler_input) return (playback_info.get("in_playback_session") and is_request_type("PlaybackController.PreviousCommandIssued") (handler_input))
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In StartOverHandler") playback_info = util.get_playback_info(handler_input) playback_info["offset_in_ms"] = 0 return util.Controller.play(handler_input)
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In PlaybackFailedHandler") playback_info = util.get_playback_info(handler_input) playback_info["in_playback_session"] = False logger.info("Playback Failed: {}".format( handler_input.request_envelope.request.error)) return handler_input.response_builder.response
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In PlaybackFinishedHandler") playback_info = util.get_playback_info(handler_input) playback_info["in_playback_session"] = False playback_info["has_previous_playback_session"] = False playback_info["next_stream_enqueued"] = False return handler_input.response_builder.response
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In PlaybackStoppedHandler") playback_info = util.get_playback_info(handler_input) playback_info["token"] = util.get_token(handler_input) playback_info["index"] = util.get_index(handler_input) playback_info["offset_in_ms"] = util.get_offset_in_ms(handler_input) return handler_input.response_builder.response
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In PlaybackStartedHandler") playback_info = util.get_playback_info(handler_input) playback_info["token"] = util.get_token(handler_input) playback_info["index"] = util.get_index(handler_input) playback_info["in_playback_session"] = True playback_info["has_previous_playback_session"] = True return handler_input.response_builder.response
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In NoHandler") playback_info = util.get_playback_info(handler_input) playback_info["index"] = 0 playback_info["offset_in_ms"] = 0 playback_info["playback_index_changed"] = True playback_info["has_previous_playback_session"] = False message = data.WELCOME_MSG reprompt = data.WELCOME_REPROMPT_MSG return handler_input.response_builder.speak(message).ask( reprompt).response
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In HelpIntentHandler") playback_info = util.get_playback_info(handler_input) if not playback_info.get('has_previous_playback_session'): message = data.HELP_MSG elif not playback_info.get('in_playback_session'): message = data.HELP_PLAYBACK_MSG else: message = data.HELP_DURING_PLAY_MSG return handler_input.response_builder.speak(message).ask( message).response
def handle(self, handler_input): # type: (HandlerInput) -> Response logger.info("In LaunchRequestHandler") playback_info = util.get_playback_info(handler_input) if not playback_info.get('has_previous_playback_session'): message = data.WELCOME_MSG reprompt = data.WELCOME_REPROMPT_MSG else: playback_info['in_playback_session'] = False message = data.WELCOME_PLAYBACK_MSG.format( data.AUDIO_DATA[playback_info.get("play_order")[ playback_info.get("index")]].get("title")) reprompt = data.WELCOME_PLAYBACK_REPROMPT_MSG return handler_input.response_builder.speak(message).ask( reprompt).response
def handle(self, handler_input): playback_info = util.get_playback_info(handler_input) return util.Controller.play(handler_input)
def can_handle(self,handler_input): playback_info = util.get_playback_info(handler_input) return (playback_info.get("in_playback_session") and is_intent_name("AMAZON.ResumeIntent")(handler_input))
def handle(self, handler_input): #initialzing parameters persistent_attr,session_attr,greg_date,misri_date=util.init_parameters(handler_input) #Set speed flag if said by user speed="normal" try: speed=handler_input.request_envelope.request.intent.slots["speed"].resolutions.resolutions_per_authority[0].values[0].value.id except: pass logger.info("speed {}".format(speed)) audio_link="" title="" file_ext=".mp3" if(is_intent_name("quran")(handler_input)): if(handler_input.request_envelope.request.intent.slots["number"].value): slot_id=handler_input.request_envelope.request.intent.slots["number"].value else: slot_id=handler_input.request_envelope.request.intent.slots["ordinal"].value if speed=="FAST": audio_link=data.QURAN_LINKF.format(slot_id) title="Fastrack "+data.QURAN_TITLE.format(slot_id) else: audio_link=data.QURAN_LINK.format(slot_id) title=data.QURAN_TITLE.format(slot_id) else: #get id of the requested dua slot_id =handler_input.request_envelope.request.intent.slots["dua_name"].resolutions.resolutions_per_authority[0].values[0].value.id logger.info("slot id:{}".format(slot_id)) #Search for dua id in our dictionary for dic in data.AUDIO_DATA: if(dic.get("id")==slot_id): #setting normal url audio_link=dic["url"] title=dic["title"] #getting speedy url if available if(speed=="FAST"): logger.info("playing speedy") try: audio_link=dic["fast_url"] title=" Fastrack "+dic["title"] except: pass break #Finding misri day to assign dasska dua if(slot_id=="DASSKA"): misri_day=misri_date["day"] if(misri_day<11): misri_day=1 if(10<misri_day<21): misri_day=2 audio_link=audio_link+str(misri_day)+"+sherullah"+file_ext #finding day of week to assign joshan dua if(slot_id=="JOSHAN"): weekday=calendar.day_name[greg_date.weekday()] logger.info("Weekday {}".format(weekday)) logger.info("audio link {}".format(audio_link)) audio_link=audio_link+weekday.upper()+file_ext logger.info("audio link {}".format(audio_link)) title=title+weekday logger.info("audio_link {} title {}".format(audio_link,title)) playback_info = util.get_playback_info(handler_input) playback_info["link"]=audio_link playback_info["offset_in_ms"]=0 msg="playing "+title handler_input.response_builder.speak(msg) return util.Controller.play(handler_input)
def can_handle(self, handler_input): # type: (HandlerInput) -> bool playback_info = util.get_playback_info(handler_input) return (playback_info.get("in_playback_session") and is_intent_name("AMAZON.NextIntent")(handler_input))