diff options
Diffstat (limited to 'lib/Ultramarine/Model/Collection.pm6')
-rw-r--r-- | lib/Ultramarine/Model/Collection.pm6 | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Ultramarine/Model/Collection.pm6 b/lib/Ultramarine/Model/Collection.pm6 index 449e7ed..e894f1c 100644 --- a/lib/Ultramarine/Model/Collection.pm6 +++ b/lib/Ultramarine/Model/Collection.pm6 @@ -23,13 +23,16 @@ class Ultramarine::Model::Collection { when $path ~~ Ultramarine::Model::DirScanner::EndOfScan { # we should use this to check that all the files in # the db have been seen, and delete those that haven't + # + # calling db.remove-unseen-files, plus db.remove-empty $!mark-ready.keep(True); } when $path ~~ IO::Path & :f { my $mtime = $path.modified.floor; + # call db.ensure-song and db.seen-file unless $.db.is-up-to-date(:$path,:$mtime) { my %metadata = $.file-class.new(:$path).metadata; - $.db.set-song(:$path,:$mtime,:%metadata) if %metadata.keys; + $.db.ensure-song(:$path,:$mtime,:%metadata) if %metadata.keys; } } } |