def get_distinct(self, field, query=None): logger.debug("Browsing distinct %s with query %r", field, query) session = self.backend._session if not query: # library root if field == "artist" or field == "albumartist": return [apply_watermark(a.name) for a in session.user.favorites.artists()] elif field == "album": return [apply_watermark(a.name) for a in session.user.favorites.albums()] elif field == "track": return [apply_watermark(t.name) for t in session.user.favorites.tracks()] else: if field == "artist": return [apply_watermark(a.name) for a in session.user.favorites.artists()] elif field == "album" or field == "albumartist": artists, _, _ = tidal_search(session, query=query, exact=True) if len(artists) > 0: artist = artists[0] artist_id = artist.uri.split(":")[2] return [apply_watermark(a.name) for a in session.get_artist_albums(artist_id)] elif field == "track": return [apply_watermark(t.name) for t in session.user.favorites.tracks()] pass return []
def search(self, query=None, uris=None, exact=False): try: artists, albums, tracks = \ tidal_search(self.backend._session, query=query, exact=exact) return SearchResult(artists=artists, albums=albums, tracks=tracks) except Exception as ex: logger.info("EX") logger.info("%r", ex)