summaryrefslogtreecommitdiff
path: root/bin/common
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-06-09 18:21:35 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-06-09 18:21:35 +0200
commit02da333eb51cc5f7cfc28e194681db0e5f59d485 (patch)
tree8a6c6a629acceb22eb481ea97341c9f2a0f6cd9c /bin/common
parent1db03774f313f1d740cda3f7e4dbc05a50c75d15 (diff)
checkpoint
Diffstat (limited to 'bin/common')
-rwxr-xr-xbin/common/ytlink20
1 files changed, 13 insertions, 7 deletions
diff --git a/bin/common/ytlink b/bin/common/ytlink
index 48be9cf..215c164 100755
--- a/bin/common/ytlink
+++ b/bin/common/ytlink
@@ -2,15 +2,21 @@
# convert to youtube.com/path url
# works for:
-# - 'youtu.be/watch?v=xxxxxx'
+# - 'youtu.be/xxxxxx'
# - 'https://piped.video/watch?v=xxxxx'
+# - https://youtube.com/watch?v=xxxx
-inp="$1"
-[ "${inp:=$(clipo)}" ] || inp="$(cat /dev/stdin)"
+# get from $1 or clipboard if empty
+vid="${1:-$(clipo)}"
+# The following subsitutions will try to grab the video id
# if link is http://127.0.0.1:9010/https://www.youtube.com/watch?v=7KpxsqwNF0o
-inp="${inp#*/https://}"
+vid="${vid#*/https://}"
# remove util scheme
-inp="${inp#*//}"
-inp="https://youtube.com/${inp#*/}"
-printf "%s" "$inp"
+vid="${vid#*//}"
+# remove domain
+vid="${vid#*/}"
+# remove query string
+vid="${vid#watch?v=}"
+
+printf "https://youtube.com/watch?v=%s\n" "$vid"