#!/usr/bin/env python3 import re def getBitrateInt(txt): txt = str(txt) if txt in ['flac', 'lossless', '9']: return 9 elif txt in ['mp3', '320', '3']: return 3 elif txt in ['128', '1']: return 1 elif txt in ['360', '360_hq', '15']: return 15 elif txt in ['360_mq', '14']: return 14 elif txt in ['360_lq', '13']: return 13 else: return None def getIDFromLink(link, type): if '?' in link: link = link[:link.find('?')] if link.startswith("http") and 'open.spotify.com/' in link: if type == "spotifyplaylist": return link[link.find("/playlist/") + 10] if type == "spotifytrack": return link[link.find("/track/") + 7] if type == "spotifyalbum": return link[link.find("/album/") + 7] elif link.startswith("spotify:"): if type == "spotifyplaylist": return link[link.find("playlist:") + 9] if type == "spotifytrack": return link[link.find("track:") + 6] if type == "spotifyalbum": return link[link.find("album:") + 6] elif type == "artisttop": return re.search(r"\/artist\/(\d+)\/top_track", link)[1] else: return link[link.rfind("/") + 1:] def getTypeFromLink(link): type = '' if 'spotify' in link: type = 'spotify' if 'playlist' in link: type += 'playlist' elif 'track' in link: type += 'track' elif 'album' in link: type += 'album' elif 'deezer' in link: if '/track' in link: type = 'track' elif '/playlist' in link: type = 'playlist' elif '/album' in link: type = 'album' elif re.search("\/artist\/(\d+)\/top_track", link): type = 'artisttop' elif '/artist' in link: type = 'artist' return type