mirror of
https://git.deluge-torrent.org/deluge
synced 2025-04-20 03:24:54 +00:00
[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:
parent
517b2c653b
commit
fca08cf583
1 changed files with 5 additions and 2 deletions
|
@ -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):
|
||||
|
|
Loading…
Add table
Reference in a new issue