From 74a23284e1b94d0a587fd6b61a43a380957f93a8 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 4 May 2023 12:34:32 +0200 Subject: [PATCH] common: load_localized_config() should make repo/ if not present For 1,000,000 checks, this adds: * ~4 seconds of runtime on a server with very slow disks. * ~0.7 seconds of runtime on my laptop with a fast SSD. --- fdroidserver/common.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fdroidserver/common.py b/fdroidserver/common.py index d704212e..d6c188be 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -510,12 +510,12 @@ def load_localized_config(name, repodir): if key not in lst[akey]: lst[akey][key] = {} if key == "icon": - shutil.copy( - os.path.join("config", value), - os.path.join(repodir, "icons") - ) + icons_dir = os.path.join(repodir, 'icons') + if not os.path.exists(icons_dir): + os.mkdir(icons_dir) + shutil.copy(os.path.join("config", value), icons_dir) lst[akey][key][locale] = file_entry( - os.path.join(repodir, "icons", value) + os.path.join(icons_dir, value) ) else: lst[akey][key][locale] = value