-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathytrss
executable file
·43 lines (34 loc) · 1.09 KB
/
ytrss
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh
###################################################################
# Script Name : Youtube RSS (ytrss)
# Description : Provides RSS to youtube videos based on the channel/user/playlist.
# Args :
# Dependencies : gawk
# Variables :
# Author : Mateusz Reszka
# Email : [email protected]
###################################################################
channel_url=$1
has_user=$(echo $channel_url | grep "/user/" | wc -l)
has_channel=$(echo $channel_url | grep "/channel/" | wc -l)
has_playlist=$(echo $channel_url | grep "/playlist?list=" | wc -l)
url="https://www.youtube.com/feeds/videos.xml"
user_rss()
{
user_id=$(echo $channel_url | awk -F'/user/' '{print $2}')
params="user=$user_id"
}
channel_rss()
{
channel_id=$(echo $channel_url | awk -F'/channel/' '{print $2}')
params="channel_id=$channel_id"
}
playlist_rss()
{
playlist_id=$(echo $channel_url | awk -F'/playlist' '{print $2}' | sed 's/?list=//g')
params="playlist_id=$playlist_id"
}
[ "$has_user" = 1 ] && user_rss;
[ "$has_channel" = 1 ] && channel_rss;
[ "$has_playlist" = 1 ] && playlist_rss;
echo "$url?$params"