<%inherit file="base.html" /> <%! from headphones import db import headphones %> <%def name="headerIncludes()">
« Back to manage overview <%def name="body()">

# Manage Albums

Mark selected albums as

| Album | Artist | Date | Type | Status | Have | Bitrate | Format
--- | --- | --- | --- | --- | --- | --- | --- | ---
%for album in albums: <% if album['Status'] == 'Skipped': grade = 'Z' elif album['Status'] == 'Wanted': grade = 'X' elif album['Status'] == 'Ignored': grade = 'I' elif album['Status'] == 'Snatched': grade = 'C' else: grade = 'A' myDB = db.DBConnection() totaltracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=?', [album['AlbumID']])) havetracks = len(myDB.select('SELECT TrackTitle from tracks WHERE AlbumID=? AND Location IS NOT NULL', [album['AlbumID']])) + len(myDB.select('SELECT TrackTitle from have WHERE ArtistName like ? AND AlbumTitle LIKE ? AND Matched = "Failed"', [album['ArtistName'], album['AlbumTitle']])) try: percent = (havetracks*100.0)/totaltracks if percent > 100: percent = 100 except (ZeroDivisionError, TypeError): percent = 0 totaltracks = '?' avgbitrate = myDB.action("SELECT AVG(BitRate) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] if avgbitrate: bitrate = str(int(avgbitrate)/1000) + ' kbps' else: bitrate = '' albumformatcount = myDB.action("SELECT COUNT(DISTINCT Format) FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] if albumformatcount == 1: albumformat = myDB.action("SELECT DISTINCT Format FROM tracks WHERE AlbumID=?", [album['AlbumID']]).fetchone()[0] elif albumformatcount > 1: albumformat = 'Mixed' else: albumformat = '' lossy_formats = [str.upper(fmt) for fmt in headphones.LOSSY_MEDIA_FORMATS] %>
| ${album['AlbumTitle']} | ${album['ArtistName']} | ${album['ReleaseDate']} | ${album['Type']} | ${album['Status']} | ${havetracks}/${totaltracks} | ${bitrate} | ${albumformat}
%endfor

<%def name="headIncludes()"> <%def name="javascriptIncludes()">