mirror of
https://github.com/Dvorinka/swingmusic-extended.git
synced 2026-06-05 04:53:01 +00:00
break down the api blueprint into smaller blueprints
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
from flask import Blueprint, request
|
||||
from app import api
|
||||
from app import helpers, cache
|
||||
from app import albumslib, functions, trackslib
|
||||
|
||||
album_bp = Blueprint("album", __name__, url_prefix="")
|
||||
|
||||
|
||||
@album_bp.route("/")
|
||||
def say_hi():
|
||||
"""Returns some text for the default route"""
|
||||
return "^ _ ^"
|
||||
|
||||
|
||||
@album_bp.route("/albums")
|
||||
def get_albums():
|
||||
"""returns all the albums"""
|
||||
albums = []
|
||||
|
||||
for song in api.DB_TRACKS:
|
||||
al_obj = {"name": song["album"], "artist": song["artists"]}
|
||||
|
||||
if al_obj not in albums:
|
||||
albums.append(al_obj)
|
||||
|
||||
return {"albums": albums}
|
||||
|
||||
|
||||
@album_bp.route("/album/tracks", methods=["POST"])
|
||||
def get_album_tracks():
|
||||
"""Returns all the tracks in the given album."""
|
||||
data = request.get_json()
|
||||
|
||||
album = data["album"]
|
||||
artist = data["artist"]
|
||||
|
||||
songs = trackslib.get_album_tracks(album, artist)
|
||||
album = albumslib.find_album(album, artist)
|
||||
|
||||
return {"songs": songs, "info": album}
|
||||
|
||||
|
||||
@album_bp.route("/album/<title>/<artist>/bio")
|
||||
@cache.cached()
|
||||
def get_album_bio(title, artist):
|
||||
"""Returns the album bio for the given album."""
|
||||
bio = functions.get_album_bio(title, artist)
|
||||
return {"bio": bio}, 200
|
||||
|
||||
|
||||
@album_bp.route("/album/artists", methods=["POST"])
|
||||
def get_albumartists():
|
||||
"""Returns a list of artists featured in a given album."""
|
||||
data = request.get_json()
|
||||
|
||||
album = data["album"]
|
||||
artist = data["artist"]
|
||||
|
||||
tracks = []
|
||||
|
||||
for track in api.TRACKS:
|
||||
if track.album == album and track.albumartist == artist:
|
||||
tracks.append(track)
|
||||
|
||||
artists = []
|
||||
|
||||
for track in tracks:
|
||||
for artist in track.artists:
|
||||
if artist not in artists:
|
||||
artists.append(artist)
|
||||
|
||||
final_artists = []
|
||||
for artist in artists:
|
||||
artist_obj = {
|
||||
"name": artist,
|
||||
"image": helpers.check_artist_image(artist),
|
||||
}
|
||||
final_artists.append(artist_obj)
|
||||
|
||||
return {"artists": final_artists}
|
||||
Reference in New Issue
Block a user