X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=bin%2Fid3fs-index;h=7f0c17ca67464afd28edd3f359334c8553b20a52;hb=198047fe7da462f486e7da3a751ecdea8d285750;hp=88959f76ae2533e7cdf2433ccdaf00f52670a2f2;hpb=8452f6a2f8603a378c41f333087ab98d15e7bd5b;p=id3fs.git diff --git a/bin/id3fs-index b/bin/id3fs-index index 88959f7..7f0c17c 100755 --- a/bin/id3fs-index +++ b/bin/id3fs-index @@ -1,6 +1,20 @@ #!/usr/bin/perl -w -# Ian Beckwith # +# id3fs - a FUSE-based filesystem for browsing audio metadata +# Copyright (C) 2010 Ian Beckwith +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . use lib '/home/ianb/projects/id3fs/id3fs/lib'; # FIXME: remove use strict; @@ -30,15 +44,27 @@ my $optret=GetOptions( "list|l" => \$list, ); +if($list && !@ARGV) +{ + push(@ARGV, "."); +} usage() if(!@ARGV || !$optret || $help); $init=1 unless($list); -if(@ARGV > 1 && !defined($basedir)) +unless(defined($basedir) && defined($dbpath)) { - die("$me: --basedir must be specified if multiple paths are supplied\n"); + $basedir=ID3FS::DB::find_db($me, $init, @ARGV); + exit unless($basedir); + my $absbase=Cwd::abs_path($basedir); + for my $dir (@ARGV) + { + if(Cwd::abs_path($dir) !~ /^\Q$absbase\E/) + { + die("$me: $dir: must be under basedir $absbase - use --basedir to specify\n"); + } + } } - -my $db=ID3FS::DB->new($me, $verbose, $init, $dbpath, $basedir, $ARGV[0]); +my $db=ID3FS::DB->new($me, $verbose, $init, $basedir, $dbpath); exit unless($db); if($list)