fix file splitting; tweaks
authorIan Beckwith <ianb@erislabs.net>
Thu, 23 Sep 2010 23:43:38 +0000 (00:43 +0100)
committerIan Beckwith <ianb@erislabs.net>
Thu, 23 Sep 2010 23:43:38 +0000 (00:43 +0100)
lib/ID3FS/DB.pm
lib/ID3FS/File/Mp3.pm
lib/ID3FS/Fuse.pm
lib/ID3FS/Path.pm

index 5264826..f2151e4 100644 (file)
@@ -349,7 +349,7 @@ sub add
 {
     my($self,$path)=@_;
     my $relpath=$path;
-    $relpath =~ s/$self->{base}\/?//;
+    $relpath =~ s/^\Q$self->{base}\E\/?//;
     my($filepart,$pathpart);
     if($path !~ /\//)
     {
index 8dbb76b..2ed8e24 100644 (file)
@@ -19,7 +19,6 @@ sub new
     $self->{v2}=undef;
     $self->{v2}=$self->{mp3}->{ID3v2} if(exists($self->{mp3}->{ID3v2}));
 
-    # FIXME
     $self->{tags}={};
 
     return $self;
index 166741b..cc38b65 100644 (file)
@@ -82,7 +82,7 @@ sub readlink
     my($self,$filename)=@_;
     print "**READLINK: $filename\n";
     my $path=ID3FS::Path->new($self->{db}, $filename);
-    return(-EINVAL()) if($path->isdir()); # FIXME: isfile()
+    return(-EINVAL()) unless($path->isfile());
     return $path->dest();
 }
 
index 1babe7d..ea575a0 100644 (file)
@@ -31,14 +31,21 @@ sub new
 sub isdir
 {
     my($self)=@_;
-    if(($self->state() eq $STATE_FILE) ||
-       ($self->state() eq $STATE_INVALID))
+    if(($self->state() == $STATE_FILE) ||
+       ($self->state() == $STATE_INVALID))
     {
        return 0;
     }
     return 1;
 }
 
+sub isfile
+{
+    my($self)=@_;
+    return 1 if($self->state() == $STATE_FILE);
+    return 0;
+}
+
 sub isvalid
 {
     my($self)=@_;
@@ -168,40 +175,24 @@ sub parse
                }
            }
 
-           when(255) #FIXME - dead code
-           {
-               print "SM: WANTMORE: $name\n";
-               $tag=ID3FS::PathElement::Tag->new($self->{db}, $name);
-               if($tag)
-               {
-                   push(@{$self->{elements}}, $tag);
-#                  $self->state($STATE_TAG);
-               }
-               else
-               {
-                   $self->state($STATE_INVALID);
-               }
-               my @valid_tagvals=$self->{db}->tag_values($tag);
-               print "TAGVALUES: $name: ", join(', ', @valid_tagvals), "\n";
-               if(@valid_tagvals)
-               {
-                   if(grep { $name eq $_; } @valid_tagvals)
-                   {
-                       print "TAGVAL VALID\n";
-                       $self->state($STATE_TAGVAL);
-                       push(@{$self->{elements}}, ID3FS::PathElement::Tagval($name));
-                   }
-                   else
-                   {
-                       print "ERROR: unknown tagval: $tagval\n";
-                       $self->state($STATE_INVALID);
-                   }
-               }
-               else
-               {
-                   $self->state($STATE_INVALID);
-               }
-           }
+#          when(255) #FIXME - dead code
+#          {
+#              my @valid_tagvals=$self->{db}->tag_values($tag);
+#              print "TAGVALUES: $name: ", join(', ', @valid_tagvals), "\n";
+#              if(@valid_tagvals)
+#              {
+#                  if(grep { $name eq $_; } @valid_tagvals)
+#                  {
+#                      print "TAGVAL VALID\n";
+#                      $self->state($STATE_TAGVAL);
+#                      push(@{$self->{elements}}, ID3FS::PathElement::Tagval($name));
+#                  }
+#                  else
+#                  {
+#                      print "ERROR: unknown tagval: $tagval\n";
+#                      $self->state($STATE_INVALID);
+#                  }
+#          }
            when($STATE_TAGVAL)
            {
                print "SM: TAGVAL: $name\n";
@@ -252,7 +243,7 @@ sub parse
            }
            when($STATE_TRACKLIST)
            {
-               print "SM: TRACKS: $name\n";
+               print "SM: TRACKLIST: $name\n";
                my $track=ID3FS::PathElement::File->new($self->{db}, $name);
                push(@{$self->{elements}}, $track);
                if($track)