summaryrefslogtreecommitdiff
path: root/pc
blob: 4cc57a30488dda92ba591fc1bf615ce5898dab84 (plain)
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
#!/bin/sh

# pc -- get podcast episode information

curl -Ls "$@" |
sed -n '/<item>/,$p' |
sed '/^$/d; s/^[	 ]*//' |
awk -vFS='[<>]' -vOFS='	' '
	/<pubDate>/ { date = $3 }
	/<itunes:duration>/ { duration = $3 }
	/<enclosure[^>]*>/ { link = $0 }
	/<description>$/ { getline; summary = $0 }
	/<description>..*/ { summary = $3 }
	/<itunes:summary>$/ { getline; summary = $0 }
	/<itunes:summary>..*/ { summary = $3 }
	/<title>/ { title = $3 }
	/<\/item>/ {
		print "Title: " title
		print "Duration: " duration
		print "Date: " date
		gsub(/^<enclosure[^>]* url="/, "", link)
		gsub(/".*/, "", link)
		print "Link: " link
		gsub(/\\\\/, ".", title)
		gsub(/[\/:*<>|]/, ".", title)
		gsub(/.*\./, ".", link)
		print "File: " title link
		gsub(/<!\[CDATA\[/, "", summary)
		gsub(/\]\]>/, "", summary)
		print "Summary: " summary
		print ""
		date = "?"
		duration = "?"
		file = "?"
		summary = "?"
		title = "?"
	}
'