[UI] Fix usage of 'with Image.open' in tracker_icons

* Revert changes made to fix 'too many files open' as Image.open does
      not return a file descriptor and generated the following error:

          exceptions.AttributeError: 'NoneType' object has no attribute 'startswith'
This commit is contained in:
Calum Lind 2017-01-12 10:09:02 +00:00
parent 283ad6137d
commit 993a0f71af
1 changed files with 10 additions and 12 deletions

View File

@ -358,8 +358,7 @@ class TrackerIcons(Component):
if PIL_INSTALLED:
try:
with Image.open(icon_name):
pass
Image.open(icon_name)
except IOError as ex:
raise InvalidIconError(ex)
else:
@ -380,8 +379,7 @@ class TrackerIcons(Component):
:rtype: TrackerIcon
"""
log.debug('Successfully downloaded from %s: %s', host, icon_name)
icon = TrackerIcon(icon_name)
return icon
return TrackerIcon(icon_name)
def on_download_icon_fail(self, f, host, icons=None):
"""
@ -436,14 +434,14 @@ class TrackerIcons(Component):
"""
if icon:
filename = icon.get_filename()
with Image.open(filename) as img:
if img.size > (16, 16):
new_filename = filename.rpartition('.')[0] + '.png'
img = img.resize((16, 16), Image.ANTIALIAS)
img.save(new_filename)
if new_filename != filename:
os.remove(filename)
icon = TrackerIcon(new_filename)
img = Image.open(filename)
if img.size > (16, 16):
new_filename = filename.rpartition('.')[0] + '.png'
img = img.resize((16, 16), Image.ANTIALIAS)
img.save(new_filename)
if new_filename != filename:
os.remove(filename)
icon = TrackerIcon(new_filename)
return icon
def store_icon(self, icon, host):