From 6f07aad95326a433778b35704af70b3cd23ac2cc Mon Sep 17 00:00:00 2001 From: dakkar Date: Fri, 31 Dec 2021 17:03:58 +0000 Subject: filter files by extensions --- config.toml | 3 ++- lib/App/MediaControl.rakumod | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/config.toml b/config.toml index 8970478..a03d3ca 100644 --- a/config.toml +++ b/config.toml @@ -9,4 +9,5 @@ port = 8090 filename = "media-files.sqlite" [media] -root = "/home/dakkar/Music" \ No newline at end of file +root = "/home/dakkar/Music" +extensions = [ "mp4", "webm", "webp", "mp3", "avi", "mov", "aac", "mpeg", "ogg", "mkv", "mjpeg", "mjpg", "mng", "ts", "qt", "vob", "wmv", "m4a", "mka", "wav", "wma" ] diff --git a/lib/App/MediaControl.rakumod b/lib/App/MediaControl.rakumod index 641754a..a34ed88 100644 --- a/lib/App/MediaControl.rakumod +++ b/lib/App/MediaControl.rakumod @@ -40,12 +40,16 @@ class App::MediaControl { method !start-scan() { my $root = $.config; + my $extensions = any($.config.Slip); + $!db.clear-seen(); start react { whenever scan-dir($root) -> $item { when $item ~~ $root {} when $item ~~ ScanDir::End { $!db.remove-unseen() } + next unless $item.extension ~~ $extensions; + my $path = $item.parent.relative($root); $path = '' if $path eq '.'; my $name = $item.basename; -- cgit v1.2.3