fix artist + album
authorIan Beckwith <ianb@erislabs.net>
Thu, 23 Sep 2010 20:49:36 +0000 (21:49 +0100)
committerIan Beckwith <ianb@erislabs.net>
Thu, 23 Sep 2010 20:49:36 +0000 (21:49 +0100)
lib/ID3FS/DB.pm
lib/ID3FS/PathElement/Album.pm

index 784abb9..5264826 100644 (file)
@@ -266,15 +266,15 @@ sub artist_tracks
 sub album_tracks
 {
     my($self, $album_id)=@_;
-    my $sql=("SELECT files.name FROM albums\n\t" .
+    my $sql=("SELECT files.name FROM files\n\t" .
             "INNER JOIN files_x_albums ON albums.id=files_x_albums.albums_id\n\t" .
             "INNER JOIN albums ON albums.id=files_x_albums.albums_id\n\t" .
             "WHERE albums.id=?\n\t" .
             "GROUP BY files.name\n");
-    print "ALBUM_TRACKS SQL: $sql\n";
+    print "ALBUM_TRACKS SQL($album_id): $sql\n";
     my $result=$self->cmd_rows($sql, $album_id);
     my @names=map { $_->[0]; } @$result;
-    @names = map { s/.*\///; } @names;
+    @names = map { s/.*\///; $_;} @names;
     print "TRACKS: ", join(', ', @names), "\n";
     return(@names);
 }
@@ -289,9 +289,7 @@ sub tracks
     }
     elsif(ref($constraints[$#constraints]) eq "ID3FS::PathElement::Album")
     {
-       # FIXME
-       return(());
-#      return $self->album_tracks($constraints[$#constraints]->{id});
+       return $self->album_tracks($constraints[$#constraints]->{id});
     }
 
     my $main_sql_start=("SELECT files.name\n" .
index d06c458..7543d5b 100644 (file)
@@ -10,7 +10,11 @@ sub new
     my $self={};
     bless($self,$class);
 
+    $self->{db}=shift;
     $self->{name}=shift;
+    $self->{id}=($self->{db}->id("albums", $self->{name}));
+    return(undef) unless(defined($self->{id}));
+    print "Artist ID: $self->{id}\n";
 
     return $self;
 }