summaryrefslogtreecommitdiff
path: root/imdb-lookup/imdbinfo.py
diff options
context:
space:
mode:
Diffstat (limited to 'imdb-lookup/imdbinfo.py')
-rwxr-xr-ximdb-lookup/imdbinfo.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/imdb-lookup/imdbinfo.py b/imdb-lookup/imdbinfo.py
index 71fd5f7..7b23356 100755
--- a/imdb-lookup/imdbinfo.py
+++ b/imdb-lookup/imdbinfo.py
@@ -10,12 +10,14 @@ import base64
import argparse
import math
import logging
+from StringIO import StringIO
try:
from urllib.parse import quote as urlencode
except:
from urllib import quote as urlencode
try:
+ from PIL import Image
import tmdbsimple as tmdb
import requests
except ImportError as e:
@@ -104,8 +106,11 @@ class TMDBCache(object):
p = self.poster(poster_path, format)
if not p: return None
contentType, data = p
+ image = Image.open(StringIO(data))
+ buf = StringIO()
+ image.save(buf, "JPEG", quality=10, optimize=True)
data64 = "".join(map(lambda c: isinstance(c,int) and chr(c) or c,
- filter(lambda c: c!='\n', base64.encodestring(data))))
+ filter(lambda c: c!='\n', base64.encodestring(buf.getvalue()))))
return "data:{};base64,{}".format(contentType, data64)
@@ -119,7 +124,8 @@ class Protector(object):
return attr(*a,**kw)
except KeyboardInterrupt as e:
raise e
- except:
+ except Exception as e:
+ logging.error("Error calling %s: %s", name, e)
return None
if callable(attr):
return protected
@@ -191,7 +197,7 @@ def do_index(args, imdb_ids):
outfile = open("index.html", "wb")
for output in stream:
output = output.encode("utf-8")
- outfile.write(output)
+ outfile.write(output.strip())
class HelpAction(argparse._HelpAction):
def __call__(self, parser, namespace, values, option_string=None):