summaryrefslogtreecommitdiff
path: root/bin/common/ytlink
diff options
context:
space:
mode:
Diffstat (limited to 'bin/common/ytlink')
-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"