notes/YouTube Subscription Viewer for your Shell-hHXFix20.sh
#!/bin/bash
#created by Kris Occhipinti https://filmsbykris.com
#Copyright Jan 9th 2018
#License GPLv3 https://www.gnu.org/licenses/gpl-3.0.txt
sublist="$HOME/.ytsublist"
ua="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) G ecko/20100101 Firefox/21.0"
ytu="https://www.youtube.com/user/"
ytc="https://www.youtube.com/channel/"
#check for sub list and create it if it does not exist
if [ ! -f $sublist ]
then
echo "metalx1000 FilmsByKris" > $sublist
echo "BryanLunduke BryanLunduke" >> $sublist
fi
function getSubs(){
mapfile -t subs < <(cat $sublist|awk '{print $1 " " $2}'|tr '\n' ' ' )
user="$(whiptail --title "Choose a Channel" --menu "MENU" 16 80 9 $subs 3>&2 2>&1 1>&3)"
echo $user
}
function getList(){
if [[ $user == UC* ]]
then
url="${ytc}${user}/videos"
else
url="${ytu}${user}/videos"
fi
wget -qO- --user-agent="$ua" "${url}/videos"|\
grep "yt-ui-ellipsis"|\
while read line
do
title="$(echo "$line"|cut -d\" -f8|\
sed 's/"//g'|sed "s/'/'/g"|tr ' ' '_')"
id="$(echo "$line"|cut -d\" -f14|cut -d\= -f2)"
if [ "$id" != "" ]
then
echo "\"$id\""
echo "\"$title\""
fi
done
}
function vidMenu(){
vid="$(whiptail --title "Video Menu" --menu "Choose a Video" 16 80 9 \
$(getList) 3>&2 2>&1 1>&3)"
video="$(echo "$vid"|sed 's/"//g')"
}
function main(){
getSubs
if [ "$user" = "" ];then exit;fi
while [ 1 ]
do
vidMenu
if [ "$video" = "" ];then break;fi
echo "$video"
mpv "https://www.youtube.com/watch?v=$video"
done
}
while [ 1 ]
do
main
done