From 97b9ef0d0c66f3c3d995d74b82f93613e2c81dd4 Mon Sep 17 00:00:00 2001 From: Ian Beckwith Date: Mon, 11 Oct 2010 03:03:16 +0100 Subject: [PATCH] filter out empty artist/album names --- lib/ID3FS/DB.pm | 7 +++++++ lib/ID3FS/Path.pm | 11 +++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/ID3FS/DB.pm b/lib/ID3FS/DB.pm index d598fe7..aa9eaf1 100644 --- a/lib/ID3FS/DB.pm +++ b/lib/ID3FS/DB.pm @@ -492,6 +492,13 @@ sub last_insert_id } } +sub lookup_id +{ + my($self, $table, $name)=@_; + my($id)=$self->cmd_onerow("SELECT id FROM $table where name=?", $name); + return $id; +} + __DATA__ CREATE TABLE id3fs ( diff --git a/lib/ID3FS/Path.pm b/lib/ID3FS/Path.pm index cee1a45..68c0ab8 100644 --- a/lib/ID3FS/Path.pm +++ b/lib/ID3FS/Path.pm @@ -561,7 +561,7 @@ sub artists my($self)=@_; if(!@{$self->{elements}}) # /ALL { - my $sql="SELECT DISTINCT name FROM artists;"; + my $sql="SELECT DISTINCT name FROM artists WHERE name!='';"; return($self->{db}->cmd_firstcol($sql)); } my @ids=(); @@ -570,6 +570,7 @@ sub artists ") AS subselect\n" . "INNER JOIN files ON subselect.files_id=files.id\n" . "INNER JOIN artists ON files.artists_id=artists.id\n" . + "WHERE artists.name != ''\n" . "GROUP BY artists.name;"); print "SQL: $sql\n"; my @tagnames=$self->{db}->cmd_firstcol($sql); @@ -593,6 +594,7 @@ sub albums "\t) AS subselect\n" . "INNER JOIN files ON subselect.files_id=files.id\n" . "INNER JOIN albums ON files.albums_id=albums.id\n" . + "WHERE albums.name != ''\n" . "GROUP BY albums.name;"); print "SQL(ALBUMS): \n$sql\n"; my @names=$self->{db}->cmd_firstcol($sql); @@ -914,11 +916,4 @@ sub tags_with_values return $tags; } -sub lookup_id -{ - my($self, $table, $name)=@_; - my($id)=$self->{db}->cmd_onerow("SELECT id FROM $table where name=?", $name); - return $id; -} - 1; -- 2.11.0