Last active 1450393196

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

getcovers.sh Raw
1#!/bin/bash
2
3apikey="APIKEY HERE"
4folderlist=`ls -d -- */`
5
6while 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 Raw
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
8import xmltodict
9from urllib2 import urlopen
10from sys import argv
11
12apikey = argv[1]
13name = "%20".join(argv[2:])
14name = name.replace("/", "")
15apiurl = "http://thetvdb.com/api/%s/" % apikey
16searchurl = "http://thetvdb.com/api/GetSeries.php?seriesname=%s" % name
17seriesurl = apiurl + "series/%s"
18bannerurl = "http://thetvdb.com/banners/"
19
20searchpage = xmltodict.parse(urlopen(searchurl).read())
21if name == "FM":
22 try:
23 seriesid = searchpage["Data"]["Series"][1]["seriesid"]
24 except KeyError:
25 seriesid = searchpage["Data"]["Series"]["seriesid"]
26else:
27 try:
28 seriesid = searchpage["Data"]["Series"][0]["seriesid"]
29 except KeyError:
30 seriesid = searchpage["Data"]["Series"]["seriesid"]
31
32seriespage = xmltodict.parse(urlopen(seriesurl % seriesid).read())
33print bannerurl + seriespage["Data"]["Series"]["poster"]
34