Advertisement
Guest User

Untitled

a guest
Apr 24th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.19 KB | None | 0 0
  1. from tmdbv3api import TMDb
  2. from tmdbv3api import Movie
  3. from PIL import Image
  4. from PIL import ImageFile
  5. import getopt
  6. import requests
  7. import shutil
  8. import os
  9. import sys
  10. import re
  11. from re import search
  12.  
  13. def main(argv):
  14.     work_folder=''
  15.     try:
  16.         opts, args = getopt.getopt(argv,"h:f",["folder="])
  17.     except getopt.GetoptError:
  18.         print ('download_poster.py -f <work_folder>')
  19.         sys.exit(2)
  20.     for opt, arg in opts:
  21.         if opt == '-h':
  22.             print ('download_poster.py -f <work_folder>')
  23.             sys.exit()
  24.         elif opt in ("-f", "--folder"):
  25.             work_folder = arg
  26.     if (work_folder==""):
  27.         print ("Se necesita definir el directorio de trabajo")
  28.         sys.exit()
  29.  
  30.     print ('El directorio de trabajo es '+work_folder)
  31.     tmdb = TMDb()
  32.     # En tmp.api_key ponemos el que consigamos en https://developers.themoviedb.org/3
  33.     tmdb.api_key = 'SUSTITUIR_POR_API_KEY'
  34.     tmdb.language = 'es'
  35.     tmdb.debug = False
  36.     movie = Movie()
  37.     video_extensions = [".mkv",".avi",".mp4",".iso"]
  38.     ImageFile.LOAD_TRUNCATED_IMAGES = True
  39.  
  40.     def store_image (file,poster_path):
  41.         if (type(poster_path) == str and type(file) == str):
  42.             image_url = "https://image.tmdb.org/t/p/w185/"+poster_path
  43.             resp = requests.get(image_url, stream=True)
  44.             local_file = open(work_folder+"tmp.jpg", 'wb')
  45.             resp.raw.decode_content = True
  46.             shutil.copyfileobj(resp.raw, local_file)
  47.             del resp
  48.             try:
  49.                 img = Image.open(work_folder+'tmp.jpg', 'r')
  50.                 img_w, img_h = img.size
  51.                 background = Image.new('RGBA', (258,258), (255,255,255,0))
  52.                 bg_w, bg_h = background.size
  53.                 offset = ((bg_w - img_w) // 2, (bg_h - img_h) // 2)
  54.                 try:
  55.                     background.paste(img, offset)
  56.                     background.save(work_folder+file+".png", optimize = True, compress_level = 9)
  57.                     os.remove(work_folder+"tmp.jpg")
  58.                 except:
  59.                     os.rename(work_folder+"tmp.jpg",work_folder+file+".jpg")
  60.             except:
  61.                 print ("Error al bajar imagen")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement