<%inherit file="base.html"/> <%! from headphones import db import headphones import string %> <%def name="headerIncludes()">
Refresh Artist Delete Artist %if artist['Status'] == 'Paused': Resume Artist %else: Pause Artist %endif %if artist['IncludeExtras']: Remove Extras Modify Extras %else: Get Extras %endif
« Back to overview <%def name="body()">

%if artist['Status'] == 'Loading': loading %endif ${artist['ArtistName']} %if artist['Status'] == 'Loading':

(Album information for this artist is currently being loaded)

%endif
Mark selected albums as
%for album in albums: <% if album['Status'] == 'Skipped': grade = 'Z' elif album['Status'] == 'Wanted': grade = 'X' 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 ?', [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] %> %endfor
Name Date Type Status Have Bitrate Format
${album['AlbumTitle']} ${album['ReleaseDate']} ${album['Type']} ${album['Status']} %if album['Status'] == 'Skipped': [want] %elif (album['Status'] == 'Wanted' or album['Status'] == 'Wanted Lossless'): [skip] %else: [retry][new] %endif %if albumformat in lossy_formats and album['Status'] == 'Skipped': [want lossless] %elif albumformat in lossy_formats and (album['Status'] == 'Snatched' or album['Status'] == 'Downloaded'): [retry lossless] %endif
${havetracks}/${totaltracks}
${bitrate} ${albumformat}
<%def name="headIncludes()"> %if artist['Status'] == 'Loading': %endif <%def name="javascriptIncludes()">