2017-07-12 18:23:31 +00:00
|
|
|
'''
|
|
|
|
Pull poster images from Imgur and places them inside Shows root folder.
|
|
|
|
/path/to/show/Show.jpg
|
|
|
|
|
|
|
|
Skips download if showname.jpg exists or if show does not exist.
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
|
|
|
import requests
|
|
|
|
import urllib
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
## Edit ##
|
|
|
|
|
|
|
|
# Imgur info
|
2018-03-19 16:33:44 +00:00
|
|
|
CLIENT_ID = 'xxxxx' # Tautulli Settings > Notifications > Imgur Client ID
|
2017-07-12 18:23:31 +00:00
|
|
|
ALBUM_ID = '7JeSw' # http://imgur.com/a/7JeSw <--- 7JeSw is the ablum_id
|
|
|
|
|
|
|
|
# Local info
|
|
|
|
SHOW_PATH = 'D:\\Shows\\'
|
|
|
|
|
|
|
|
## /Edit ##
|
|
|
|
|
|
|
|
class IMGURINFO(object):
|
|
|
|
def __init__(self, data=None):
|
|
|
|
d = data or {}
|
|
|
|
self.link = d['link']
|
|
|
|
self.description = d['description']
|
|
|
|
|
|
|
|
def get_imgur():
|
|
|
|
url = "https://api.imgur.com/3/album/{ALBUM_ID}/images".format(ALBUM_ID=ALBUM_ID)
|
|
|
|
headers = {'authorization': 'Client-ID {}'.format(CLIENT_ID)}
|
|
|
|
r = requests.get(url, headers=headers)
|
|
|
|
imgur_dump = r.json()
|
|
|
|
return[IMGURINFO(data=d) for d in imgur_dump['data']]
|
|
|
|
|
|
|
|
for x in get_imgur():
|
|
|
|
# Check if Show directory exists
|
|
|
|
if os.path.exists(os.path.join(SHOW_PATH, x.description)):
|
|
|
|
# Check if Show poster (show.jpg) exists
|
|
|
|
if os.path.exists((os.path.join(SHOW_PATH, x.description, x.description))):
|
|
|
|
print("Poster for {} was already downloaded or filename already exists, skipping.".format(x.description))
|
|
|
|
else:
|
|
|
|
print("Downloading poster for {}.".format(x.description))
|
|
|
|
urllib.urlretrieve(x.link, '{}.jpg'.format((os.path.join(SHOW_PATH, x.description, x.description))))
|
|
|
|
else:
|
|
|
|
print("{} - {} did not match your library.".format(x.description, x.link))
|