pass path to db methods, not just elements
[id3fs.git] / lib / ID3FS / Path.pm
index a27cd7e..33d3ccd 100644 (file)
@@ -59,7 +59,7 @@ sub dest
     my($self, $mountpoint)=@_;
     if($self->state() == $STATE_FILE)
     {
-       return $self->{db}->filename($mountpoint, @{$self->{elements}});
+       return $self->{db}->filename($mountpoint, $self);
     }
     return "ERROR"; #should never happen?
 }
@@ -79,12 +79,12 @@ sub dirents
           ref($tag) eq "ID3FS::PathElement::Tag" &&
           $self->{db}->tag_has_values($tag->{id}))
        {
-           @dents=$self->{db}->tags(@{$self->{elements}});
+           @dents=$self->{db}->tags($self);
        }
        else
        {
            @dents=(qw(AND OR TRACKS NOARTIST),
-                   $self->{db}->artists(@{$self->{elements}}));
+                   $self->{db}->artists($self));
        }
     }
     elsif($state==$STATE_BOOLEAN)
@@ -96,19 +96,19 @@ sub dirents
        {
            push(@dents, "NOT");
        }
-       push(@dents, $self->{db}->tags(@{$self->{elements}}));
+       push(@dents, $self->{db}->tags($self));
     }
     elsif($state==$STATE_ROOT)
     {
-       @dents=(qw(ALL NOT), $self->{db}->tags(@{$self->{elements}}));
+       @dents=(qw(ALL NOT), $self->{db}->tags($self));
     }
     elsif($state==$STATE_ALBUMS)
     {
-       @dents=(qw(TRACKS NOALBUM),$self->{db}->albums(@{$self->{elements}}));
+       @dents=(qw(TRACKS NOALBUM),$self->{db}->albums($self));
     }
     elsif($state==$STATE_TRACKLIST)
     {
-       @dents=$self->{db}->tracks(@{$self->{elements}});
+       @dents=$self->{db}->tracks($self);
     }
     else
     {
@@ -307,6 +307,8 @@ sub parse
         $self->{andsneeded}) = $self->{tagtree}->to_sql();
        print("SQL CONDITION(", $self->{andsneeded}, "): ",
              $self->{sqlconditions}, "\n");
+#      use Data::Dumper;
+#      print Dumper $self->{tagtree};
     }
 }