示例#1
0
    def process_request(self, request_object):
        device = self.device_discovery_service.get()

        device.decrease_volume(self.DEFAULT_VOLUME_DECREMENT)

        self.device_transport_control_service.volume_down(device)
        return ResponseSuccess()
示例#2
0
    def process_request(self, request_object):

        device = self.device_discovery_service.get()

        results_albums = list()

        if request_object.playlist_name and request_object.artist_name and request_object.album_name:  # Album, artist, playlist
            results_albums = self.music_search_service.search_album_for_artist_and_for_playlist(
                request_object.album_name,
                request_object.artist_name,
                request_object.playlist_name)

        if request_object.artist_name and request_object.album_name:  # Album, artist
            results_albums = self.music_search_service.search_album_for_artist(request_object.album_name,
                                                                               request_object.artist_name)

        if request_object.playlist_name and request_object.album_name:  # Album, playlist
            results_albums = self.music_search_service.search_album_in_playlist(request_object.album_name,
                                                                                request_object.playlist_name)

        if request_object.album_name:  # Album
            results_albums = self.music_search_service.search_album(request_object.album_name)

        if len(results_albums):
            first_album = results_albums[0]
            self.music_playback_service.play(device, first_album)
        else:
            return ResponseFailure.build_resource_error("An error happened")

        return ResponseSuccess()
示例#3
0
    def process_request(self, request_object):
        device = self.device_discovery_service.get()
        if request_object.volume_level:
            device.volume = request_object.volume_level
            self.device_transport_control_service.set_volume(device)

        return ResponseSuccess()
示例#4
0
    def process_request(self, request_object):

        device = self.device_discovery_service.get()

        results_track = list()

        if request_object.playlist_name and request_object.artist_name:
            results_track = self.music_search_service.search_artist_for_playlist(
                request_object.artist_name, request_object.playlist_name)

        if request_object.artist_name:
            results_track = self.music_search_service.search_artist(
                request_object.artist_name)

            if len(results_track) > 1:
                first_result = results_track[0]
                other_results = results_track[1:]

                self.music_playback_service.play(device, first_result)
                self.music_playback_service.queue(device, other_results)

            elif len(results_track) == 1:
                first_result = results_track[0]
                self.music_playback_service.play(device, first_result)
            else:
                return ResponseFailure.build_resource_error(
                    FR_TTS_GENERIC_ERROR)

        return ResponseSuccess()
示例#5
0
 def process_request(self, request_object):
     device = self.device_discovery_service.get()
     if request_object.volume_increase:
         device.increase_volume(request_object.volume_increase)
         self.device_transport_control_service.volume_up(device)
     else:
         device.increase_volume(self.DEFAULT_VOLUME_INCREMENT)
         self.device_transport_control_service.volume_up(device)
     return ResponseSuccess()
示例#6
0
    def process_request(self, request_object):

        device = self.device_discovery_service.get()

        if request_object.playlist_name:
            results_playlists = self.music_search_service.search_playlist(request_object.playlist_name)
            if len(results_playlists):
                first_playlist = results_playlists[0]
                self.music_playback_service.play(device, first_playlist)
                tts_feedback = FR_TTS_PLAYING_PLAYLIST_TEMPLATE.format(first_playlist.name)
            else:
                return ResponseFailure.build_resource_error(FR_TTS_GENERIC_ERROR)

        return ResponseSuccess(feedback=tts_feedback)
示例#7
0
    def process_request(self, request_object):

        device = self.device_discovery_service.get()
        track_name = request_object.track_name if request_object.track_name else None
        artist_name = request_object.artist_name if request_object.artist_name else None
        album_name = request_object.album_name if request_object.album_name else None
        playlist_name = request_object.playlist_name if request_object.playlist_name else None

        if track_name and album_name and artist_name and playlist_name:  # Track - Album - Artist - Playlist
            results_tracks = self.music_search_service.search_track_for_album_and_for_artist_and_for_playlist(
                track_name, album_name, artist_name, playlist_name)

        if track_name and album_name and artist_name:  # Track - Album - Artist
            results_tracks = self.music_search_service.search_track_for_album_and_for_artist

        if track_name and album_name and playlist_name:  # Track - Album - Playlist
            results_tracks = self.music_search_service.search_track_for_album_and_for_playlist

        if track_name and artist_name and playlist_name:  # Track - Artist - Playlist
            results_tracks = self.music_search_service.search_track_for_artist_and_for_playlist

        if track_name and playlist_name:  # Track - Playlist
            results_tracks = self.music_search_service.search_track_for_playlist(
            )

        if track_name and artist_name:  # Track - Artist
            results_tracks = self.music_search_service.search_track_for_artist

        if track_name and album_name:  # Track - Album
            results_tracks = self.music_search_service.search_track_for_album

        # Track
        if track_name and not (artist_name or playlist_name or album_name):
            results_track = self.music_search_service.search_track(
                request_object.track_name)
            if len(results_track):
                first_result = results_track[0]
                self.music_playback_service.play(device, first_result)
            else:
                return ResponseFailure.build_resource_error(
                    "An error happened")

        return ResponseSuccess()
示例#8
0
    def process_request(self, request_object):

        device = self.device_discovery_service.get()

        results_track = list()

        if request_object.playlist_name and request_object.artist_name:
            results_track = self.music_search_service.search_artist_for_playlist(
                request_object.artist_name, request_object.playlist_name)

        if request_object.artist_name:
            results_track = self.music_search_service.search_artist(
                request_object.artist_name)
        if len(results_track):
            first_result = results_track[0]
            self.music_playback_service.play(device, first_result)
        else:
            return ResponseFailure.build_resource_error("An error happened")

        return ResponseSuccess()
示例#9
0
    def process_request(self, request_object):
        device = self.device_discovery_service.get()

        self.device_transport_control_service.pause(device)

        return ResponseSuccess()