From: Ian Beckwith Date: Thu, 23 Sep 2010 23:43:38 +0000 (+0100) Subject: fix file splitting; tweaks X-Git-Tag: debian/1.0-1~186 X-Git-Url: http://erislabs.net/gitweb/?p=id3fs.git;a=commitdiff_plain;h=10735afb2cc92efa82c27ad7a5a9b514c1091b4b fix file splitting; tweaks --- diff --git a/lib/ID3FS/DB.pm b/lib/ID3FS/DB.pm index 5264826..f2151e4 100644 --- a/lib/ID3FS/DB.pm +++ b/lib/ID3FS/DB.pm @@ -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 !~ /\//) { diff --git a/lib/ID3FS/File/Mp3.pm b/lib/ID3FS/File/Mp3.pm index 8dbb76b..2ed8e24 100644 --- a/lib/ID3FS/File/Mp3.pm +++ b/lib/ID3FS/File/Mp3.pm @@ -19,7 +19,6 @@ sub new $self->{v2}=undef; $self->{v2}=$self->{mp3}->{ID3v2} if(exists($self->{mp3}->{ID3v2})); - # FIXME $self->{tags}={}; return $self; diff --git a/lib/ID3FS/Fuse.pm b/lib/ID3FS/Fuse.pm index 166741b..cc38b65 100644 --- a/lib/ID3FS/Fuse.pm +++ b/lib/ID3FS/Fuse.pm @@ -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(); } diff --git a/lib/ID3FS/Path.pm b/lib/ID3FS/Path.pm index 1babe7d..ea575a0 100644 --- a/lib/ID3FS/Path.pm +++ b/lib/ID3FS/Path.pm @@ -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)