--- a/src/cdplugins/tidal/tidal.py
+++ b/src/cdplugins/tidal/tidal.py
@@ -194,10 +194,11 @@
def view(data_items, urls, end=True):
for item, url in zip(data_items, urls):
title = item.name
+ msgproc.log("view: got title %s" % item.name)
xbmcplugin.entries.append(direntry('0$tidal$' + url, xbmcplugin.objid, title))
def track_list(tracks):
- xbmcplugin.entries = trackentries(xbmcplugin.objid, tracks)
+ xbmcplugin.entries += trackentries(xbmcplugin.objid, tracks)
@dispatcher.record('browse')
def browse(a):
@@ -409,5 +410,33 @@
track_list(session.user.favorites.tracks())
+@dispatcher.record('search')
+def search(a):
+ global xbmcplugin
+ xbmcplugin = XbmcPlugin()
+ msgproc.log("search: [%s]" % a)
+ objid = a['objid']
+ field = a['field']
+ value = a['value']
+ if re.match('0\$tidal\$', objid) is None:
+ raise Exception("bad objid [%s]" % objid)
+ xbmcplugin.objid = objid
+ maybelogin()
+
+ searchresults = session.search(field, value)
+ msgproc.log("search: Got %d artists" % len(searchresults.artists))
+ view(searchresults.artists, urls_from_id(artist_view, searchresults.artists),
+ end=False)
+ view(searchresults.albums, urls_from_id(album_view, searchresults.albums),
+ end=False)
+ view(searchresults.playlists, urls_from_id(playlist_view,
+ searchresults.playlists),
+ end=False)
+ track_list(searchresults.tracks)
+ #msgproc.log("%s" % xbmcplugin.entries)
+ encoded = json.dumps(xbmcplugin.entries)
+ return {"entries" : encoded}
+
+
msgproc.log("Tidal running")
msgproc.mainloop()