diff options
author | dakkar <dakkar@thenautilus.net> | 2021-12-31 17:03:58 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2021-12-31 17:03:58 +0000 |
commit | 6f07aad95326a433778b35704af70b3cd23ac2cc (patch) | |
tree | 0782680291791b5f620ab208fd07a2a0fbb49ec4 | |
parent | style `recent`, link to files list (diff) | |
download | media-control-6f07aad95326a433778b35704af70b3cd23ac2cc.tar.gz media-control-6f07aad95326a433778b35704af70b3cd23ac2cc.tar.bz2 media-control-6f07aad95326a433778b35704af70b3cd23ac2cc.zip |
filter files by extensions
-rw-r--r-- | config.toml | 3 | ||||
-rw-r--r-- | lib/App/MediaControl.rakumod | 4 |
2 files changed, 6 insertions, 1 deletions
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<media><root>; + my $extensions = any($.config<media><extensions>.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; |