hlfw.ca

ytcli

Download patch

ref: 5e321b195bbb70e9239c4e3b6eca15cc7e1adc7f
parent: 364af1505869ca0c2a0180f7544b4c1294605103
author: Halfwit <michaelmisch1985@gmail.com>
date: Fri Feb 16 16:03:27 PST 2018

Fix multiple arguments

Signed-off-by: Halfwit <michaelmisch1985@gmail.com>

--- a/ytcli
+++ b/ytcli
@@ -6,11 +6,10 @@
 
 usage() {
 cat <<USAGE
-Will return a list of [thumbs], URLs, and Descriptions for a given search.
-'chanid' will return the ID of a named channel
+Return a list of URLs, and Descriptions, and optionally thumbs for a given search. channel-id will return the ID of a named channel
 Usage: 
-	ytctl [-t] [search|playlist|user|channel] KEYWORD
-	ytctl [channel-id] KEYWORD
+	ytcli [search|playlist|user|channel] [-t] KEYWORD
+	ytcli [channel-id] KEYWORD
 USAGE
 }
 
@@ -23,6 +22,10 @@
 	sed -n 's/max_results=//p' "$CFG"
 }
 
+clean() {
+	printf '%s\n' "$@" | tr '\n' '+' | sed 's/+$/\n/'
+}
+
 parse () {
 	jshon -CQ -e items -a -e snippet -e title -uppe id -e "$1"Id -u
 }
@@ -85,6 +88,12 @@
 
 ## Main ## 
 
+# Early exit of only one argument
+if test $# -lt 2; then
+	usage
+	exit 1
+fi
+
 # Scrub out our flag
 if test $2 = "-t"; then
 	THUMB="$1"
@@ -92,11 +101,12 @@
 	set -- "$THUMB" "$@"
 fi
 
+# Handle our args
 case $1 in
-	search)		shift && search		"$@" ;;
-	playlist)   shift && playlist	"$@" ;;
-	user)		shift && user   	"$@" ;;
-	channel) 	shift && channel 	"$@" ;;
-	channel-id)	shift && chanid	"$@" ;;
+	search)		shift && search		"$(clean "$@")\n" ;;
+	playlist)   shift && playlist	"$(clean "$@")\n" ;;
+	user)		shift && user   	"$(clean "$@")\n" ;;
+	channel) 	shift && channel 	"$(clean "$@")\n" ;;
+	channel-id)	shift && chanid		"$(clean "$@")\n" ;;
 	*) usage ;;
 esac