This commit is contained in:
parent
d6780481d3
commit
ecaec93819
@ -4,7 +4,7 @@ Base resource with user handling and Spotify integration
|
|||||||
|
|
||||||
__author__ = '@tormakris'
|
__author__ = '@tormakris'
|
||||||
__copyright__ = "Copyright 2020, onSpot Team"
|
__copyright__ = "Copyright 2020, onSpot Team"
|
||||||
__module_name__ = "spotifyuserstoreresource"
|
__module_name__ = "apiinteractionresource"
|
||||||
__version__text__ = "1"
|
__version__text__ = "1"
|
||||||
|
|
||||||
from flask import current_app
|
from flask import current_app
|
||||||
@ -22,9 +22,10 @@ class APIInteractionResource(UserStoreResource):
|
|||||||
|
|
||||||
def queryspotifyinfo(self, mb_type: str, title: str = "", artist: str = "", album: str = "") -> tuple:
|
def queryspotifyinfo(self, mb_type: str, title: str = "", artist: str = "", album: str = "") -> tuple:
|
||||||
querystring = f"{artist} {album} {title}"
|
querystring = f"{artist} {album} {title}"
|
||||||
|
spotify_uri = "spotify:"
|
||||||
if mb_type == "artist":
|
if mb_type == "artist":
|
||||||
spot_data = self.spotify.search(q=querystring, type="artist", limit=1)['artists']['items']
|
spot_data = self.spotify.search(q=querystring, type="artist", limit=1)['artists']['items']
|
||||||
spotify_uri = "spotify:artist:"
|
spotify_uri += "artist:"
|
||||||
if spot_data:
|
if spot_data:
|
||||||
imagedata = spot_data[0]['images']
|
imagedata = spot_data[0]['images']
|
||||||
else:
|
else:
|
||||||
@ -36,14 +37,14 @@ class APIInteractionResource(UserStoreResource):
|
|||||||
spot_data = spot_data['items']
|
spot_data = spot_data['items']
|
||||||
else:
|
else:
|
||||||
return None, None, None
|
return None, None, None
|
||||||
spotify_uri = "spotify:album:"
|
spotify_uri += "album:"
|
||||||
if spot_data:
|
if spot_data:
|
||||||
imagedata = spot_data[0]['images']
|
imagedata = spot_data[0]['images']
|
||||||
else:
|
else:
|
||||||
return None, None, None
|
return None, None, None
|
||||||
elif mb_type == "work" or mb_type == "recording":
|
elif mb_type == "work" or mb_type == "recording":
|
||||||
spot_data = self.spotify.search(q=querystring, type="track", limit=1)['tracks']['items']
|
spot_data = self.spotify.search(q=querystring, type="track", limit=1)['tracks']['items']
|
||||||
spotify_uri = "spotify:track:"
|
spotify_uri += "track:"
|
||||||
if spot_data:
|
if spot_data:
|
||||||
imagedata = spot_data[0]['album']['images']
|
imagedata = spot_data[0]['album']['images']
|
||||||
else:
|
else:
|
||||||
|
@ -25,18 +25,18 @@ class ItemApi(APIInteractionResource):
|
|||||||
current_app.logger.info(e)
|
current_app.logger.info(e)
|
||||||
abort(401, "unauthorized")
|
abort(401, "unauthorized")
|
||||||
try:
|
try:
|
||||||
item_type = flaskred.get(itemid).decode('UTF-8')
|
itemtype = flaskred.get(itemid).decode('UTF-8')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
current_app.logger.warning(e)
|
current_app.logger.warning(e)
|
||||||
abort(404, "unknown item")
|
abort(404, "unknown item")
|
||||||
|
|
||||||
if item_type == 'release':
|
if itemtype == 'release':
|
||||||
return self.getreleaseinfo(itemid), 200
|
return self.getreleaseinfo(itemid), 200
|
||||||
elif item_type == 'artist':
|
elif itemtype == 'artist':
|
||||||
return self.getartistinfo(itemid), 200
|
return self.getartistinfo(itemid), 200
|
||||||
elif item_type == 'work':
|
elif itemtype == 'work':
|
||||||
return self.getworkinfo(itemid), 200
|
return self.getworkinfo(itemid), 200
|
||||||
elif item_type == 'recording':
|
elif itemtype == 'recording':
|
||||||
return self.getrecordinginfo(itemid), 200
|
return self.getrecordinginfo(itemid), 200
|
||||||
else:
|
else:
|
||||||
abort(417, "wrong type of item")
|
abort(417, "wrong type of item")
|
||||||
|
Loading…
Reference in New Issue
Block a user