qobuz-dl/qobuz_dl/search.py

44 lines
1.4 KiB
Python
Raw Normal View History

2020-08-10 04:47:51 +02:00
import time
class Search:
def __init__(self, Qz, query, limit=10):
self.Total = []
self.IDs = []
self.Types = []
2020-10-17 18:52:35 +02:00
self.Tracks = Qz.search_tracks(query, limit)["tracks"]["items"]
self.Albums = Qz.search_albums(query, limit)["albums"]["items"]
2020-08-10 04:47:51 +02:00
def seconds(self, duration):
2020-10-17 18:52:35 +02:00
return time.strftime("%H:%M:%S", time.gmtime(duration))
2020-08-10 04:47:51 +02:00
def appendInfo(self, i, bool):
2020-10-17 18:52:35 +02:00
self.IDs.append(i["id"])
2020-08-10 04:47:51 +02:00
self.Types.append(bool)
def itResults(self, iterable):
for i in iterable:
try:
2020-10-17 18:52:35 +02:00
items = (
i["artist"]["name"],
i["title"],
self.seconds(i["duration"]),
"HI-RES" if i["hires"] else "Lossless",
)
self.Total.append("[RELEASE] {} - {} - {} [{}]".format(*items))
2020-08-10 04:47:51 +02:00
self.appendInfo(i, True)
except KeyError:
items = (
i["performer"]["name"],
i["title"],
self.seconds(i["duration"]),
"HI-RES" if i["hires"] else "Lossless",
)
self.Total.append("[TRACK] {} - {} - {} [{}]".format(*items))
self.appendInfo(i, False)
2020-08-10 04:47:51 +02:00
def getResults(self, tracks=False):
self.itResults(self.Albums)
if tracks:
self.itResults(self.Tracks)