Last active 1450393196

TV show cover downloader | Uses thetvdb.com's api | Run ./getcovers.sh in your TV show root folder

Steven Smith revised this gist 1370969800. Go to revision

2 files changed, 49 insertions

getcovers.sh(file created)

@@ -0,0 +1,16 @@
1 + #!/bin/bash
2 +
3 + apikey="APIKEY HERE"
4 + folderlist=`ls -d -- */`
5 +
6 + while read p
7 + do
8 + echo "$p"
9 + url=`python /media/audvid/sorted/Videos/TV/getposterurl.py $apikey $p`
10 + cd "$p"
11 + wget $url -O cover.jpg
12 + if [ $? -ne 0 ]
13 + then echo "$p" >> errorlist
14 + fi
15 + cd ..
16 + done < $folderlist

getposterurl.py(file created)

@@ -0,0 +1,33 @@
1 + #!/usr/bin/env python2
2 + # TV show cover downloader, by blha303 <b3@blha303.com.au>
3 + # Released under the BSD license
4 + # Called with 'python getposterurl.py <APIKEY> <SEARCH>...
5 + # Example: python getposterurl.py <APIKEY> Game of Thrones
6 + # returns http://thetvdb.com/banners/posters/121361-3.jpg
7 +
8 + import xmltodict
9 + from urllib2 import urlopen
10 + from sys import argv
11 +
12 + apikey = argv[1]
13 + name = "%20".join(argv[2:])
14 + name = name.replace("/", "")
15 + apiurl = "http://thetvdb.com/api/%s/" % apikey
16 + searchurl = "http://thetvdb.com/api/GetSeries.php?seriesname=%s" % name
17 + seriesurl = apiurl + "series/%s"
18 + bannerurl = "http://thetvdb.com/banners/"
19 +
20 + searchpage = xmltodict.parse(urlopen(searchurl).read())
21 + if name == "FM":
22 + try:
23 + seriesid = searchpage["Data"]["Series"][1]["seriesid"]
24 + except KeyError:
25 + seriesid = searchpage["Data"]["Series"]["seriesid"]
26 + else:
27 + try:
28 + seriesid = searchpage["Data"]["Series"][0]["seriesid"]
29 + except KeyError:
30 + seriesid = searchpage["Data"]["Series"]["seriesid"]
31 +
32 + seriespage = xmltodict.parse(urlopen(seriesurl % seriesid).read())
33 + print bannerurl + seriespage["Data"]["Series"]["poster"]
Newer Older