[TrackerIcon] Fixed old-large icon removal

After downloading and resizing the new icon, we try to remove the downloaded
file, which is larger, but it fails because it tries to do so when the file
is still open, and therefor locked.
On close of the UI, we got `PermissionError` exceptions for each new icon.
This commit is contained in:
DjLegolas 2022-01-05 02:08:35 +02:00 committed by Calum Lind
parent 517b2c653b
commit fca08cf583
No known key found for this signature in database
GPG Key ID: 90597A687B836BA3
1 changed files with 5 additions and 2 deletions

View File

@ -479,14 +479,17 @@ class TrackerIcons(Component):
# Requires Pillow(PIL) to resize.
if icon and Image:
filename = icon.get_filename()
remove_old = False
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)
remove_old = True
if remove_old:
os.remove(filename)
icon = TrackerIcon(new_filename)
return icon
def store_icon(self, icon, host):