deemix-py/deemix/utils/misc.py

50 lines
1.2 KiB
Python
Raw Normal View History

2020-02-17 16:46:18 +01:00
#!/usr/bin/env python3
import re
2020-02-17 16:46:18 +01:00
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]
2020-02-17 16:46:18 +01:00
if type == "spotifytrack":
return link[link.find("/track/") + 7]
2020-02-17 16:46:18 +01:00
if type == "spotifyalbum":
return link[link.find("/album/") + 7]
2020-02-17 16:46:18 +01:00
elif link.startswith("spotify:"):
if type == "spotifyplaylist":
return link[link.find("playlist:") + 9]
2020-02-17 16:46:18 +01:00
if type == "spotifytrack":
return link[link.find("track:") + 6]
2020-02-17 16:46:18 +01:00
if type == "spotifyalbum":
return link[link.find("album:") + 6]
2020-02-17 16:46:18 +01:00
elif type == "artisttop":
return re.search(r"\/artist\/(\d+)\/top_track", link)[1]
2020-02-17 16:46:18 +01:00
else:
return link[link.rfind("/") + 1:]
2020-02-17 16:46:18 +01:00
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):
2020-02-17 16:46:18 +01:00
type = 'artisttop'
elif '/artist' in link:
type = 'artist'
return type