From 2ad3c5176e2eac34378807a1d74bed965e976a8a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 15 Jul 2022 19:37:39 +0530 Subject: [PATCH] Handle existing images when installing theme --- src/calibre/utils/rcc/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/utils/rcc/__init__.py b/src/calibre/utils/rcc/__init__.py index 898a1f3365..9efafc7d99 100644 --- a/src/calibre/utils/rcc/__init__.py +++ b/src/calibre/utils/rcc/__init__.py @@ -99,7 +99,11 @@ def compile_icon_dir_as_themes( return dest_name = dest_name.replace('-for-light-theme', '') dest = theme_dir, 'images', (rp + dest_name) - os.link(image_path, os.path.join(tdir, *dest)) + try: + os.link(image_path, os.path.join(tdir, *dest)) + except FileExistsError: + os.remove(os.path.join(tdir, *dest)) + os.link(image_path, os.path.join(tdir, *dest)) file('/'.join(dest)) for dirpath, dirnames, filenames in os.walk(path_to_dir):