diff --git a/url_image_preview/url_image_preview.py b/url_image_preview/url_image_preview.py index d62e2083b69dc9e16fbc568b42067b16f642602d..36e9e8a2f3e85f4010af1cb0c6a26e1e00cdbb79 100644 --- a/url_image_preview/url_image_preview.py +++ b/url_image_preview/url_image_preview.py @@ -19,6 +19,7 @@ import gtk import gobject import os import hashlib +import binascii from urlparse import urlparse from io import BytesIO import shutil @@ -198,18 +199,17 @@ class Base(object): key = '' iv = '' encrypted = False - if len(urlparts.fragment): - fragment = [] - try: - for i in range(0, len(urlparts.fragment), 2): - fragment.append(chr(int(urlparts.fragment[i:i + 2], 16))) - fragment = ''.join(fragment) - key = fragment[16:] - iv = fragment[:16] - if len(key) == 32 and len(iv) == 16: + if urlparts.fragment: + fragment = binascii.unhexlify(urlparts.fragment) + key = fragment[16:] + iv = fragment[:16] + if len(key) == 32 and len(iv) == 16: + encrypted = True + if not encrypted: + key = fragment[12:] + iv = fragment[:12] + if len(key) == 32 and len(iv) == 12: encrypted = True - except: - pass # file exists but thumbnail got deleted if os.path.exists(filepath) and not os.path.exists(thumbpath):