def cover(id): try: album = Album.get(id) if not album.image: return redirect(url_for('.static', filename='images/nocover.png')) return send_file(album.image) except LookupError: abort(400)
def add_album_to_playlist(id): try: album = Album.get(id) for track in album.tracks: playlist.add_to_playlist(track.id) return redirect(request.headers['referer']) except LookupError: abort(400)
def top_albums(n): try: top = [t.album for t in AlbumStatistics.select(orderBy=DESC(AlbumStatistics.q.play_count))[:n]] if len(top) < n: top = top + [album for album in Album.select()[:n-len(top)] if album not in top] return top except SQLObjectNotFound: return []
def album_search(keylist): album=[] for keyword in keylist: #tmp= Track.select(AND(Album.q.name.contains(keyword),Album.q.id==Track.q.album)) tmp= Album.select(Album.q.name.contains(keyword)) album.extend(tmp) album=set(album) return album
def index(id): try: album = Album.get(id) return render_master_page("album.html", title="Album", album=album) except SQLObjectNotFound: abort(400)