id3fs-index: update usage and man page
authorIan Beckwith <ianb@erislabs.net>
Tue, 19 Oct 2010 14:13:55 +0000 (15:13 +0100)
committerIan Beckwith <ianb@erislabs.net>
Tue, 19 Oct 2010 14:13:55 +0000 (15:13 +0100)
bin/id3fs-index
lib/ID3FS/AudioFile/Flac.pm
lib/ID3FS/AudioFile/Mp3.pm
lib/ID3FS/Fuse.pm

index 7f0c17c..f27c7f6 100755 (executable)
@@ -36,7 +36,6 @@ my $files_pruned;
 Configure(qw(bundling no_ignore_case));
 my $optret=GetOptions(
     "verbose|v"      => \$verbose,
-    "quiet|q"        => sub { $verbose=0; },
     "help|h"         => \$help,
     "dir|d=s"        => \$basedir,
     "database|f=s"   => \$dbpath,
@@ -87,7 +86,7 @@ else
     my $directories_pruned=$db->prune_directories();
     if($files_pruned || $directories_pruned)
     {
-       print "$me: removing data from pruned files\n" if $verbose;
+       print "$me: pruning removed files from db\n" if $verbose;
        $db->remove_unused();
     }
     print "$me: analyzing db\n" if $verbose;
@@ -110,7 +109,6 @@ sub wanted
     }
 }
 
-
 sub prune
 {
     my $dir=shift;
@@ -124,6 +122,7 @@ sub prune
     @oldfiles=sort @oldfiles;
     @newfiles=sort @newfiles;
     my %hash;
+    # hash slice!
     @hash{@newfiles}=();
     for my $file (@oldfiles)
     {
@@ -157,14 +156,14 @@ sub list_tags
 
 sub usage
 {
-    die("Usage: $me [-vqh] [-d basedir] [-f dbpath] [-e mp3,ogg,flac] [--] DIR...\n".
-       " -v|--verbose\t\t\tVerbose\n".
-       " -q|--quiet\t\t\tQuiet (default)\n".
-       " -d|--dir=PATH\t\t\tBase directory of source files (default: ARGV[0])\n".
-       " -f|--database=FILE\t\tPath to database file (default: basedir/.id3fs)\n".
-       " -e|--extensions=EXT1,EXT2\tFile extensions to index (default: mp3, ogg, flac)\n".
-       " -h|--help\t\t\tThis help\n".
-       " --\t\t\t\tEnd of options\n");
+    die("Usage: $me [-lvh] [-d basedir] [-f dbpath] [-e mp3,ogg,flac] [--] DIR...\n".
+       " -d|--dir=PATH              Base directory of source files (default: ARGV[0])\n".
+       " -f|--database=FILE         Path to database file (default: basedir/.id3fs)\n".
+       " -e|--extensions=EXT1,EXT2  File extensions to index (default: mp3, ogg, flac)\n".
+       " -l|list                    List tags in use\n" .
+       " -v|--verbose               Verbose\n".
+       " -h|--help                  This help\n".
+       " --                         End of options\n");
 }
 
 __END__
@@ -175,7 +174,7 @@ id3fs-index - Add files to id3fs index
 
 =head1 SYNOPSIS
 
-B<id3fs-index> [B<-vqh>] S<[B<-d >I<basedir>]> S<[B<-f >I<dbpath>]> S<[B<-e >I<mp3,ogg,flac>]> [B<-->] [I<DIR>...]
+B<id3fs-index> [B<-lvh>] S<[B<-d >I<basedir>]> S<[B<-f >I<dbpath>]> S<[B<-e >I<mp3,ogg,flac>]> [B<-->] [I<DIR>...]
 
 =head1 DESCRIPTION
 
@@ -187,13 +186,9 @@ with L<id3fsd(8)>.
 
 =over 4
 
-=item B<-v>
-
-Enable verbose operation.
-
-=item B<-q>
+=item B<-l> | B<--list>
 
-Quiet (no output). This is the default.
+List tags in use in specified database.
 
 =item S<B<-d >I<PATH>> | S<B<--dir=>I<PATH>>
 
@@ -217,6 +212,10 @@ a hidden file called B<".id3fs"> under the base directory.
 File extensions to consider when indexing.
 Defaults to B<.mp3>, B<.ogg> and B<.flac>.
 
+=item B<-v>
+
+Enable verbose operation.
+
 =item B<-h>
 
 Show a short help message.
@@ -256,25 +255,27 @@ Please report any found to ianb@erislabs.net
 
 =head1 SEE ALSO
 
-L<id3fsd(8)>
+L<id3fsd(8)>, L<MP3::Tag>, L<Audio::Flac::Header>, L<Ogg::Vorbis::Header>
 
 =head1 AUTHOR
 
 Ian Beckwith <ianb@erislabs.net>
 
+Many thanks to Aubrey Stark-Toller for help wrangling SQL.
+
 =head1 AVAILABILITY
 
 The latest version can be found at:
 
-B<http://erislabs.net/ianb/projects/id3fs/>
+L<http://erislabs.net/ianb/projects/id3fs/>
 
 =head1 COPYRIGHT
 
-Copyright 2010 Ian Beckwith <ianb@erislabs.net>
+Copyright (C) 2010  Ian Beckwith <ianb@erislabs.net>
 
 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
+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,
index 12d6d68..b3f7bf8 100644 (file)
@@ -61,6 +61,7 @@ sub album     { shift->choose("album");  }
 sub year      { shift->choose("year");   }
 sub audiotype { return "mp3";            }
 sub haspic    { return undef;            } # FIXME
+
 sub v1genre
 {
     my($self)=@_;
index ffb3950..94e935f 100644 (file)
@@ -25,6 +25,7 @@ use POSIX qw(EINVAL EROFS ENOENT EOPNOTSUPP S_IRUSR S_IRGRP S_IROTH S_IXUSR S_IX
 
 our ($TYPE_DIR, $TYPE_SYMLINK)=(0040, 0120);
 our $DEFAULT_MAXTAGDEPTH = 10;
+
 sub new
 {
     my $proto=shift;
@@ -98,6 +99,12 @@ sub getattr
           $atime, $mtime, $ctime, $blksize, $blocks);
 }
 
+sub mode
+{
+    my($self, $type)=@_;
+    return(($type << 9) | $self->{perms});
+}
+
 sub readlink
 {
     my($self,$filename)=@_;
@@ -116,8 +123,6 @@ sub getdir
     return(-ENOTDIR()) unless($path->isdir());
     my @dents=();
     my($dirs, $files)=$path->dirents();
-    # too slow
-#    push(@dents, $path->filter(@$dirs));
     push(@dents, @$dirs);
     push(@dents, @$files);
     if(@dents)
@@ -150,10 +155,4 @@ sub getxattr    { print "FUSE: getxattr\n";    return -EOPNOTSUPP(); }
 sub listxattr   { print "FUSE: listxattr\n";   return -EOPNOTSUPP(); }
 sub removexattr { print "FUSE: removexattr\n"; return -EOPNOTSUPP(); }
 
-sub mode
-{
-    my($self, $type)=@_;
-    return(($type << 9) | $self->{perms});
-}
-
 1;