Changeset 19 in mp3-find for trunk/lib/MP3/Find
- Timestamp:
- 03/28/06 19:38:39 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/MP3/Find/DB.pm
r13 r19 43 43 ); 44 44 45 my $DEFAULT_STATUS_CALLBACK = sub { 46 my ($action_code, $filename) = @_; 47 print STDERR "$action_code $filename\n"; 48 }; 45 49 46 50 sub search { … … 89 93 sub update_db { 90 94 my $self = shift; 91 my $db_file = shift or croak "Need the name of the datab se to update";95 my $db_file = shift or croak "Need the name of the database to update"; 92 96 my $dirs = shift; 97 98 my $status_callback = $self->{status_callback} || $DEFAULT_STATUS_CALLBACK; 93 99 94 100 my @dirs = ref $dirs eq 'ARRAY' ? @$dirs : ($dirs); … … 126 132 if (@$records == 0) { 127 133 $insert_sth->execute(map { $mp3->{$$_[0]} } @COLUMNS); 128 print STDERR "A $$mp3{FILENAME}\n";134 $status_callback->(A => $$mp3{FILENAME}); 129 135 $count++; 130 136 } elsif ($mp3->{mtime} > $$records[0][0]) { 131 137 # the mp3 file is newer than its record 132 138 $update_sth->execute((map { $mp3->{$$_[0]} } @COLUMNS), $mp3->{FILENAME}); 133 print STDERR "U $$mp3{FILENAME}\n";139 $status_callback->(U => $$mp3{FILENAME}); 134 140 $count++; 135 141 } … … 140 146 foreach ($mtime_sth, $insert_sth, $update_sth) { 141 147 $_->{RaiseError} = 0; # don't die on error 148 $_->{PrintError} = 0; # ...and don't even say anything 142 149 $_->{Active} = 1; 143 150 $_->finish; … … 150 157 my $self = shift; 151 158 my $db_file = shift or croak "Need the name of the databse to sync"; 152 159 160 my $status_callback = $self->{status_callback} || $DEFAULT_STATUS_CALLBACK; 161 153 162 my $dbh = DBI->connect("dbi:SQLite:dbname=$db_file", '', '', {RaiseError => 1}); 154 163 my $select_sth = $dbh->prepare('SELECT FILENAME FROM mp3'); … … 162 171 unless (-e $filename) { 163 172 $delete_sth->execute($filename); 164 print STDERR "D $filename\n";173 $status_callback->(D => $filename); 165 174 $count++; 166 175 }
Note: See TracChangeset
for help on using the changeset viewer.