Skip to content

Commit

Permalink
music_query: add --artist option
Browse files Browse the repository at this point in the history
  • Loading branch information
trapd00r committed Feb 6, 2011
1 parent d13a768 commit 28d2728
Showing 1 changed file with 23 additions and 13 deletions.
36 changes: 23 additions & 13 deletions music_query
@@ -1,12 +1,23 @@
#!/usr/bin/perl
use strict;
our $VERSION = '0.001';
our $VERSION = '0.010';

use Storable;
use File::Find::Rule;
use Term::ExtendedColor qw[:attributes];
use Getopt::Long;
use File::LsColor qw[ls_color];
use Getopt::Long;

use Data::Dumper;
$Data::Dumper::Terse = 1;
$Data::Dumper::Indent = 1;
$Data::Dumper::Useqq = 1;
$Data::Dumper::Deparse = 1;
$Data::Dumper::Quotekeys = 0;
$Data::Dumper::Sortkeys = 1;



my $music_db = "$ENV{HOME}/.music_full.db";

Expand All @@ -15,23 +26,18 @@ my @disks = map { qq[/mnt/Music_$_] } ( 1 .. 7 );

my $r = generate_db();

all( $r );
GetOptions(
'artist:s' => sub { shift; artist_query( $r, shift ); },
);

#artist_query('Laleh');

#my $artist = shift // 'Laleh';
#print Dumper $r{artist}{$artist};

sub artist_query {
my($s, $query_artist) = @_;

for my $artist(sort(keys(%{$s->{artist}{$query_artist}}))) {
print bg('red3', $artist), "\n";
for my $year(sort(keys(%{$s->{artist}{$artist}->{year}}))) {
my @albums = map { m|.+/(.+)$| } @{$s->{artist}{$artist}->{year}{$year}};
printf("%s %s\n", fg('blue4', bold($year)), join("\n '--> ", @albums));
}
print "\n\n\n";
}
my($s, $artist) = @_;
print Dumper $s->{artist}{$artist};
}

sub all {
Expand Down Expand Up @@ -74,7 +80,11 @@ sub generate_db {
}
$artist =~ s/\s+$//;
$artist =~ s/^\s+//;
push(@{$struct->{artist}{$artist}->{year}{$year}}, $album);
# Consider globbing later.
push(
@{$struct->{artist}{$artist}->{year}{$year}->{album}{$album}},
glob("$album/*")
);
}
}
store($struct, $music_db);
Expand Down

0 comments on commit 28d2728

Please sign in to comment.