예제 #1
0
 def run(self):
     if self.kind == "artist":
         artists = self.session.search("artist", self.keyword).artists
         self.results = create_mopidy_artists(artists)
     elif self.kind == "album":
         albums = self.session.search("album", self.keyword).albums
         self.results = create_mopidy_albums(albums)
     elif self.kind == "track":
         tracks = self.session.search("track", self.keyword).tracks
         self.results = create_mopidy_tracks(tracks)
예제 #2
0
 def search_album(self):
     res = self.session.search("album", self.keyword).albums
     album = next((a for a in res
                   if a.name.lower() == self.keyword.lower()), None)
     logger.info("Album not found" if album is None else "Album found OK")
     if album:
         self.albums = create_mopidy_albums([album])
         tracks = self.session.get_album_tracks(album.id)
         self.tracks = create_mopidy_tracks(tracks)
         logger.info("Found %d tracks for album", len(self.tracks))
예제 #3
0
 def search_album(self):
     res = self.session.search("album", self.keyword).albums
     album = next(
         (a for a in res if a.name.lower() == self.keyword.lower()), None)
     logger.info("Album not found" if album is None else "Album found OK")
     if album:
         self.albums = create_mopidy_albums([album])
         tracks = self.session.get_album_tracks(album.id)
         self.tracks = create_mopidy_tracks(tracks)
         logger.info("Found %d tracks for album", len(self.tracks))
예제 #4
0
 def run(self):
     if self.kind == "artist":
         artists = self.session.search("artist", self.keyword).artists
         self.results = create_mopidy_artists(artists)
     elif self.kind == "album":
         albums = self.session.search("album", self.keyword).albums
         self.results = create_mopidy_albums(albums)
     elif self.kind == "track":
         tracks = self.session.search("track", self.keyword).tracks
         self.results = create_mopidy_tracks(tracks)
예제 #5
0
    def refresh(self):
        logger.debug("Refreshing TIDAL playlists..")
        playlists = {}
        session = self.backend._session
        for pl in session.user.playlists():
            uri = "tidal:playlist:" + pl.id
            pl_tracks = session.get_playlist_tracks(pl.id)
            tracks = full_models_mappers.create_mopidy_tracks(pl_tracks)
            playlists[uri] = Playlist(uri=uri, name=pl.name, tracks=tracks, last_modified=pl.last_updated)

        self._playlists = playlists
        backend.BackendListener.send("playlists_loaded")
예제 #6
0
    def refresh(self):
        logger.debug("Refreshing TIDAL playlists..")
        playlists = {}
        session = self.backend._session

        plists = session.user.favorites.playlists()
        for pl in plists:
            pl.name = "* " + pl.name
        # Append favourites to end to keep the tagged name if there are
        # duplicates
        plists = session.user.playlists() + plists

        for pl in plists:
            uri = "tidal:playlist:" + pl.id
            pl_tracks = session.get_playlist_tracks(pl.id)
            tracks = full_models_mappers.create_mopidy_tracks(pl_tracks)
            playlists[uri] = Playlist(uri=uri,
                                      name=pl.name,
                                      tracks=tracks,
                                      last_modified=pl.last_updated)

        self._playlists = playlists
        backend.BackendListener.send('playlists_loaded')
예제 #7
0
 def _lookup_artist(self, session, parts):
     artist_id = parts[2]
     artist_tracks = session.get_artist_top_tracks(artist_id)
     return full_models_mappers.create_mopidy_tracks(artist_tracks)
예제 #8
0
 def _lookup_album(self, session, parts):
     album_id = parts[2]
     tracks = session.get_album_tracks(album_id)
     return full_models_mappers.create_mopidy_tracks(tracks)
예제 #9
0
 def _lookup_artist(self, session, parts):
     artist_id = parts[2]
     artist_tracks = session.get_artist_top_tracks(artist_id)
     return full_models_mappers.create_mopidy_tracks(artist_tracks)
예제 #10
0
 def _lookup_album(self, session, parts):
     album_id = parts[2]
     tracks = session.get_album_tracks(album_id)
     return full_models_mappers.create_mopidy_tracks(tracks)
예제 #11
0
 def _lookup_playlist(self, session, parts):
     tracks = session.get_playlist_tracks(parts[2])
     return full_models_mappers.create_mopidy_tracks(tracks)
예제 #12
0
 def _lookup_artist(self, artist_id):
     logger.info("Looking up artist ID: %s", artist_id)
     tracks = self.backend.session.get_artist_top_tracks(artist_id)
     return full_models_mappers.create_mopidy_tracks(tracks)
예제 #13
0
 def _lookup_album(self, album_id):
     logger.info("Looking up album ID: %s", album_id)
     tracks = self.backend.session.get_album_tracks(album_id)
     return full_models_mappers.create_mopidy_tracks(tracks)