From: Ian Beckwith Date: Tue, 19 Oct 2010 04:56:03 +0000 (+0100) Subject: tidy filtering code, ensure NOARTIST/NOALBUM/TRACKS are all filtered X-Git-Tag: debian/1.0-1~48 X-Git-Url: http://erislabs.net/gitweb/?p=id3fs.git;a=commitdiff_plain;h=cbd85c75b3d68f4409c59eb8978572796f6b8d1d tidy filtering code, ensure NOARTIST/NOALBUM/TRACKS are all filtered --- diff --git a/lib/ID3FS/Path.pm b/lib/ID3FS/Path.pm index 4cf5fc2..89c2e9d 100644 --- a/lib/ID3FS/Path.pm +++ b/lib/ID3FS/Path.pm @@ -79,7 +79,7 @@ sub dirents # print "DIRENTS: FILE: $self->{path}\n"; if($state==$STATE_ALL) { - @dents=($PATH_ALLTRACKS, $PATH_NOARTIST, $self->artists()); + @dents=($self->filter($PATH_ALLTRACKS, $PATH_NOARTIST), $self->artists()); } elsif($state==$STATE_TAG || $state==$STATE_TAGVAL) { @@ -94,10 +94,7 @@ sub dirents { @dents=qw(AND OR); } - push(@dents, ($ENABLE_FILTER ? - $self->filter($PATH_ALLTRACKS, $PATH_NOARTIST) : - ($PATH_ALLTRACKS, $PATH_NOARTIST))); - push(@dents, $self->artists()); + push(@dents, $self->filter($PATH_ALLTRACKS, $PATH_NOARTIST), $self->artists()); } } elsif($state==$STATE_BOOLEAN) @@ -116,7 +113,7 @@ sub dirents } elsif($state==$STATE_ALBUMS) { - @dents=($self->filter($PATH_ALLTRACKS, $PATH_NOALBUM), $self->albums()); + @dents=$self->filter($PATH_ALLTRACKS, $PATH_NOALBUM, $self->albums()); } elsif($state==$STATE_TRACKLIST) { @@ -795,6 +792,7 @@ sub constraints_tag_list sub filter { my($self, @dirs)=@_; + return(@dirs) unless($ENABLE_FILTER); my $base=$self->{path}; my @outdirs=(); for my $dir (@dirs)