diff --git a/data/interfaces/default/album.html b/data/interfaces/default/album.html
index bec42cfb..687e4540 100644
--- a/data/interfaces/default/album.html
+++ b/data/interfaces/default/album.html
@@ -138,7 +138,7 @@
%endfor
<%
- unmatched = myDB.select('SELECT * from have WHERE ArtistName LIKE ? AND AlbumTitle LIKE ?', [album['ArtistName'], album['AlbumTitle']])
+ unmatched = myDB.select('SELECT * from have WHERE ArtistName LIKE ? AND AlbumTitle LIKE ? AND Matched is null ORDER BY CAST(TrackNumber AS INTEGER)', [album['ArtistName'], album['AlbumTitle']])
%>
%if unmatched:
%for track in unmatched:
diff --git a/data/interfaces/default/artist.html b/data/interfaces/default/artist.html
index e891b1fa..845f6719 100644
--- a/data/interfaces/default/artist.html
+++ b/data/interfaces/default/artist.html
@@ -93,7 +93,7 @@
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']]))
+ 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 IS NULL', [album['ArtistName'], album['AlbumTitle']]))
try:
percent = (havetracks*100.0)/totaltracks
diff --git a/data/interfaces/default/config.html b/data/interfaces/default/config.html
index b4246cfe..65e5370a 100644
--- a/data/interfaces/default/config.html
+++ b/data/interfaces/default/config.html
@@ -97,6 +97,14 @@
mins
+
+
+ hours
+
+
+
+ days
+
diff --git a/data/interfaces/default/js/script.js b/data/interfaces/default/js/script.js
index e021074b..a0bb860e 100644
--- a/data/interfaces/default/js/script.js
+++ b/data/interfaces/default/js/script.js
@@ -315,6 +315,7 @@ function doAjaxCall(url,elem,reload,form) {
console.log('refresh'); refreshTable();
}
if ( reload == "tabs") refreshTab();
+ if ( reload == "page") location.reload();
if ( form ) {
// Change the option to 'choose...'
$(formID + " select").children('option[disabled=disabled]').attr('selected','selected');
diff --git a/data/interfaces/default/manage.html b/data/interfaces/default/manage.html
index 66405aab..6d98bb53 100644
--- a/data/interfaces/default/manage.html
+++ b/data/interfaces/default/manage.html
@@ -22,6 +22,7 @@
%if not headphones.ADD_ARTISTS:
Manage New Artists
%endif
+ Manage Unmatched
%def>
@@ -35,6 +36,7 @@
%def>
<%def name="javascriptIncludes()">
diff --git a/data/interfaces/default/managealbums.html b/data/interfaces/default/managealbums.html
index a30dde6a..487028d6 100644
--- a/data/interfaces/default/managealbums.html
+++ b/data/interfaces/default/managealbums.html
@@ -57,7 +57,7 @@
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']]))
+ 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 IS NULL', [album['ArtistName'], album['AlbumTitle']]))
try:
percent = (havetracks*100.0)/totaltracks
diff --git a/data/interfaces/default/managemanual.html b/data/interfaces/default/managemanual.html
new file mode 100644
index 00000000..e20882ca
--- /dev/null
+++ b/data/interfaces/default/managemanual.html
@@ -0,0 +1,121 @@
+<%inherit file="base.html" />
+<%!
+ import headphones
+ from headphones import db, helpers
+ myDB = db.DBConnection()
+%>
+
+<%def name="headerIncludes()">
+