aboutsummaryrefslogtreecommitdiff
path: root/Scripts/.local/scripts/localstream
diff options
context:
space:
mode:
Diffstat (limited to 'Scripts/.local/scripts/localstream')
-rwxr-xr-xScripts/.local/scripts/localstream64
1 files changed, 29 insertions, 35 deletions
diff --git a/Scripts/.local/scripts/localstream b/Scripts/.local/scripts/localstream
index 1250763..815d72e 100755
--- a/Scripts/.local/scripts/localstream
+++ b/Scripts/.local/scripts/localstream
@@ -1,35 +1,29 @@
-#!/usr/bin/env sh
-
-usage() {
- printf "Usage: localstream [-f|-p]
-\t-f: Lookup video files
-\t-p: Lookup playlists\n";
-}
-
-if [ $# -eq 0 ]
-then
- usage && exit 1;
-fi
-
-case $1 in
- "-f")
- filtering="-name '*.mp4' -or -name '*.mkv' -or -name '*.webm' -or -name '*.opus'";
- selection="\(.*\)";;
- "-p")
- filtering="-name 'playlist'";
- selection="\(.*\)\/playlist";
- ending="/playlist";;
- *)
- usage && exit 1;;
-esac
-
-choice=$(ssh oreo@oldboy "find /media/hdd/content/ -type 'f' $filtering" |\
- sed "s/\/media\/hdd\/content\/$selection/\1/g" |\
- dmenu -i -l 5 -p "Choose file: ")
-
-if [ $1 = "-f" ]
-then
- mpv "sftp://oldboy:/media/hdd/content/$choice$ending"
-else
- mpv --playlist="sftp://oldboy:/media/hdd/content/$choice$ending"
-fi
+#!/usr/bin/env python3
+
+from subprocess import run, PIPE
+
+DIRECTORIES = [{"type": "ssh", "host": "oreo@oldboy", "directory": "/media/hdd/content"},
+ {"type": "local", "directory": "/home/oreo/Media"}]
+
+def make_filters(extensions):
+ s = []
+ for i, ext in enumerate(extensions):
+ s.append("-iname")
+ s.append(f"\"{ext}\"")
+ if i < len(extensions) - 1:
+ s.append("-or")
+ return s
+
+def get_local_files(directory, extensions):
+ return ["find", directory, "-type", "f"] + make_filters(extensions)
+
+def get_remote_files(host, directory, extensions):
+ return ["ssh", host, f"find {directory} -type 'f' {' '.join(make_filters(extensions))}"]
+
+def run_command(cmd):
+ res = run(cmd, stdout=PIPE, stderr=PIPE, text=True)
+ return res.stdout.split("\n"), res.returncode
+
+choices = dict()
+
+'*.mp4', '*.mkv', '*.webm', '*.opus'