From e8f49e1011e1360f104ff998ccd2e2f61c946cc8 Mon Sep 17 00:00:00 2001 From: Ian Beckwith Date: Tue, 19 Oct 2010 15:13:55 +0100 Subject: [PATCH] id3fs-index: update usage and man page --- bin/id3fs-index | 45 +++++++++++++++++++++++---------------------- lib/ID3FS/AudioFile/Flac.pm | 1 - lib/ID3FS/AudioFile/Mp3.pm | 1 + lib/ID3FS/Fuse.pm | 15 +++++++-------- 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/bin/id3fs-index b/bin/id3fs-index index 7f0c17c..f27c7f6 100755 --- a/bin/id3fs-index +++ b/bin/id3fs-index @@ -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 [B<-vqh>] S<[B<-d >I]> S<[B<-f >I]> S<[B<-e >I]> [B<-->] [I...] +B [B<-lvh>] S<[B<-d >I]> S<[B<-f >I]> S<[B<-e >I]> [B<-->] [I...] =head1 DESCRIPTION @@ -187,13 +186,9 @@ with L. =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 SI> | SI> @@ -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 +L, L, L, L =head1 AUTHOR Ian Beckwith +Many thanks to Aubrey Stark-Toller for help wrangling SQL. + =head1 AVAILABILITY The latest version can be found at: -B +L =head1 COPYRIGHT -Copyright 2010 Ian Beckwith +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 +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, diff --git a/lib/ID3FS/AudioFile/Flac.pm b/lib/ID3FS/AudioFile/Flac.pm index 8a610a0..72b2dbd 100644 --- a/lib/ID3FS/AudioFile/Flac.pm +++ b/lib/ID3FS/AudioFile/Flac.pm @@ -75,4 +75,3 @@ sub tags } 1; - diff --git a/lib/ID3FS/AudioFile/Mp3.pm b/lib/ID3FS/AudioFile/Mp3.pm index 12d6d68..b3f7bf8 100644 --- a/lib/ID3FS/AudioFile/Mp3.pm +++ b/lib/ID3FS/AudioFile/Mp3.pm @@ -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)=@_; diff --git a/lib/ID3FS/Fuse.pm b/lib/ID3FS/Fuse.pm index ffb3950..94e935f 100644 --- a/lib/ID3FS/Fuse.pm +++ b/lib/ID3FS/Fuse.pm @@ -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; -- 2.11.0