tweak relativise
authorIan Beckwith <ianb@erislabs.net>
Sun, 17 Oct 2010 05:47:13 +0000 (06:47 +0100)
committerIan Beckwith <ianb@erislabs.net>
Sun, 17 Oct 2010 05:47:13 +0000 (06:47 +0100)
lib/ID3FS/DB.pm
lib/ID3FS/Path.pm

index fced79e..955e117 100644 (file)
@@ -23,11 +23,11 @@ sub new
     $self->{base}=shift;
     my $fallbackdir=shift;
 
-    $dbpath=$self->find_db($init, $dbpath, $fallbackdir);
-    return undef unless($dbpath);
+    $self->{dbpath}=$self->find_db($init, $dbpath, $fallbackdir);
+    return undef unless($self->{dbpath});
     $self->{absbase}=Cwd::abs_path($self->{base});
 
-    my $connectstr="dbi:SQLite:dbname=$dbpath";
+    my $connectstr="dbi:SQLite:dbname=$self->{dbpath}";
     my ($user, $pass)=("", "");
     if($self->{postgres})
     {
@@ -35,7 +35,7 @@ sub new
        $user="ianb";
        $pass="foo";
     }
-    my $exists=-f $dbpath;
+    my $exists=-f $self->{dbpath};
     $self->{dbh}=DBI->connect($connectstr, $user, $pass,
                              { AutoCommit=>1 } );
     unless(defined($self->{dbh}))
@@ -207,7 +207,8 @@ sub tag_has_values
 
 sub relativise
 {
-    my($self, $path, $name, $mountpoint, $id3fs_path)=@_;
+    my($self, $path, $name, $mountpoint)=@_;
+    my $id3fs_path=$self->{dbpath};
     $id3fs_path=~s/(.*)\/.*/$1/;
     my $rpath="$self->{absbase}/$path";
     my $vpath="$mountpoint/$id3fs_path";
index 56e1e80..4ef3a54 100644 (file)
@@ -52,8 +52,7 @@ sub isdir
 sub isfile
 {
     my($self)=@_;
-    return 1 if($self->state() == $STATE_FILE);
-    return 0;
+    return($self->state() == $STATE_FILE);
 }
 
 sub isvalid
@@ -67,7 +66,7 @@ sub dest
     my($self, $mountpoint)=@_;
     if($self->state() == $STATE_FILE)
     {
-       return $self->filename($mountpoint, $self);
+       return $self->filename($mountpoint);
     }
     return "ERROR"; #should never happen?
 }
@@ -696,7 +695,7 @@ sub filename
        print "FILENAME SQL: $sql\n" if($self->{verbose});
        my ($path, $name)=$self->{db}->cmd_onerow($sql, $id);
        my $id3fs_path=join('/', map { $_->{name}; }  @{$self->{elements}});
-       return($self->{db}->relativise($path, $name, $mountpoint, $id3fs_path));
+       return($self->{db}->relativise($path, $name, $mountpoint));
     }
     die("DB::filename: unhandled case\n"); #FIXME
 }
@@ -835,6 +834,7 @@ sub constraints_tag_list
     return(\@tags, \@tags_vals, $lasttag);
 }
 
+# Not used, slows things down too much
 sub filter
 {
     my($self, @dirs)=@_;