aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2021-12-31 17:03:58 +0000
committerdakkar <dakkar@thenautilus.net>2021-12-31 17:03:58 +0000
commit6f07aad95326a433778b35704af70b3cd23ac2cc (patch)
tree0782680291791b5f620ab208fd07a2a0fbb49ec4
parentstyle `recent`, link to files list (diff)
downloadmedia-control-6f07aad95326a433778b35704af70b3cd23ac2cc.tar.gz
media-control-6f07aad95326a433778b35704af70b3cd23ac2cc.tar.bz2
media-control-6f07aad95326a433778b35704af70b3cd23ac2cc.zip
filter files by extensions
-rw-r--r--config.toml3
-rw-r--r--lib/App/MediaControl.rakumod4
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;