<%inherit file="base.html" /> <%! # Removed direct DB imports/interactions here, as data should be pre-fetched server-side. # from headphones import db import headphones # Still needed for headphones.LOSSY_MEDIA_FORMATS if used %> <%def name="headerIncludes()">
 
« Back to manage overview <%def name="body()">

Manage Albums

<%-- Renamed ID to avoid conflict with markalbum div --%>
Mark selected albums as <%-- Replaced inline onChange with a class and data attributes for JS handling --%> <%-- This hidden input might be redundant if data is sent via AJAX --%>
<%-- Added ID for easier targeting --%> %for album in albums: <% # Assuming these values are now pre-calculated and available in the 'album' dict # Removed all in-template database queries for performance. 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' # Use the pre-calculated values from the album object totaltracks_display = album.get('TotalTracks', '?') havetracks_display = album.get('HaveTracks', 0) percent_display = album.get('PercentOwned', 0) bitrate_display = album.get('BitrateDisplay', '') # e.g., '192 kbps' albumformat_display = album.get('AlbumFormat', '') # e.g., 'MP3', 'FLAC', 'Mixed' %> <%-- Unique name and class for individual checkboxes --%> %endfor
Album Artist Date Type Status Have Bitrate Format
${album['AlbumTitle']} ${album['ArtistName']} ${album['ReleaseDate']} ${album['Type']} ${album['Status']} <%-- Using percent_display for title attribute --%>
${havetracks_display}/${totaltracks_display}
${bitrate_display} ${albumformat_display}
<%def name="headIncludes()"> ${parent.headIncludes()} <%-- Ensure parent head includes are kept --%> <%def name="javascriptIncludes()"> ${parent.javascriptIncludes()} <%-- Ensure parent javascript includes are kept --%>