From e304e34ac7ff5577050d651e70d6efbcd7b96270 Mon Sep 17 00:00:00 2001 From: Jens Rogier Date: Thu, 17 Apr 2014 19:23:39 +0200 Subject: [PATCH] Added ability to ignore albums. Trackcount on homepage now is now excluding ignored albums. Added "Manage ignored albums" to the Manage function. --- data/css/data_table.css | 8 ++++++++ data/interfaces/default/album.html | 2 +- data/interfaces/default/artist.html | 5 ++++- data/interfaces/default/css/data_table.css | 9 +++++++++ data/interfaces/default/manage.html | 1 + data/interfaces/default/managealbums.html | 3 +++ data/interfaces/default/upcoming.html | 1 + headphones/webserve.py | 1 + 8 files changed, 28 insertions(+), 2 deletions(-) diff --git a/data/css/data_table.css b/data/css/data_table.css index 5846855c..5c9ac606 100644 --- a/data/css/data_table.css +++ b/data/css/data_table.css @@ -172,6 +172,14 @@ table.display tr.even.gradeA { background-color: #ddffdd; } +table.display tr.odd.gradeI { + background-color: #bebebe; +} + +table.display tr.even.gradeI { + background-color: #bebebe; +} + table.display tr.odd.gradeC { background-color: #ddddff; } diff --git a/data/interfaces/default/album.html b/data/interfaces/default/album.html index 98dc51ba..ba8bf33b 100644 --- a/data/interfaces/default/album.html +++ b/data/interfaces/default/album.html @@ -13,7 +13,7 @@
Delete Album - %if album['Status'] == 'Skipped': + %if album['Status'] == 'Skipped' or album['Status'] == 'Ignored': Mark Album as Wanted %elif album['Status'] == 'Wanted': Force Check diff --git a/data/interfaces/default/artist.html b/data/interfaces/default/artist.html index 06bb7ba6..1892842a 100644 --- a/data/interfaces/default/artist.html +++ b/data/interfaces/default/artist.html @@ -62,6 +62,7 @@ + @@ -89,6 +90,8 @@ grade = 'X' elif album['Status'] == 'Snatched': grade = 'C' + elif album['Status'] == 'Ignored': + grade = 'I' else: grade = 'A' @@ -128,7 +131,7 @@ ${album['ReleaseDate']} ${album['Type']} ${album['Status']} - %if album['Status'] == 'Skipped': + %if album['Status'] == 'Skipped' or album['Status'] == 'Ignored': [want] %elif (album['Status'] == 'Wanted' or album['Status'] == 'Wanted Lossless'): [skip] diff --git a/data/interfaces/default/css/data_table.css b/data/interfaces/default/css/data_table.css index 08c6de4c..08a44c33 100644 --- a/data/interfaces/default/css/data_table.css +++ b/data/interfaces/default/css/data_table.css @@ -224,6 +224,14 @@ table.display tr.even.gradeA { background-color: #ddffdd; } +table.display tr.odd.gradeI { + background-color: #bebebe; +} + +table.display tr.even.gradeI { + background-color: #bebebe; +} + table.display tr.odd.gradeC { background-color: #ebf5ff; } @@ -269,6 +277,7 @@ table.display tr.gradeL #status { } table.display tr.gradeA td, table.display tr.gradeC td, +table.display tr.gradeI td, table.display tr.gradeX td, table.display tr.gradeU td, table.display tr.gradeZ td {border-bottom: 1px solid #FFF;} diff --git a/data/interfaces/default/manage.html b/data/interfaces/default/manage.html index c2c0206c..9ca6f753 100644 --- a/data/interfaces/default/manage.html +++ b/data/interfaces/default/manage.html @@ -14,6 +14,7 @@ Manage Snatched Albums
Manage Upcoming Albums
Manage Wanted Albums
+ Manage Ignored Albums


Manage All Albums
diff --git a/data/interfaces/default/managealbums.html b/data/interfaces/default/managealbums.html index 3aa06248..650fff43 100644 --- a/data/interfaces/default/managealbums.html +++ b/data/interfaces/default/managealbums.html @@ -25,6 +25,7 @@ + @@ -50,6 +51,8 @@ grade = 'Z' elif album['Status'] == 'Wanted': grade = 'X' + elif album['Status'] == 'Ignored': + grade = 'I' elif album['Status'] == 'Snatched': grade = 'C' else: diff --git a/data/interfaces/default/upcoming.html b/data/interfaces/default/upcoming.html index 2d3903f2..f230dcf3 100644 --- a/data/interfaces/default/upcoming.html +++ b/data/interfaces/default/upcoming.html @@ -20,6 +20,7 @@ diff --git a/headphones/webserve.py b/headphones/webserve.py index 497ecd7b..65ed6a4d 100644 --- a/headphones/webserve.py +++ b/headphones/webserve.py @@ -268,6 +268,7 @@ class WebInterface(object): searcher.searchforalbum(mbid, new=True) if action == 'WantedLossless': searcher.searchforalbum(mbid, lossless=True) + myDB.action('UPDATE artists SET TotalTracks=(SELECT COUNT(*) FROM tracks, artists WHERE tracks.ArtistName = artists.ArtistName AND AlbumTitle IN (SELECT AlbumTitle FROM albums WHERE Status != "Ignored")) WHERE ArtistID=(SELECT ArtistID FROM albums WHERE AlbumID=?)', [mbid]) if ArtistID: raise cherrypy.HTTPRedirect("artistPage?ArtistID=%s" % ArtistID) else: