From 994afd2b0e2ed1cc4a4ea2966dafbb657279697c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 30 Jan 2026 21:42:48 +0530 Subject: [PATCH] Use share_open when reading custom dictionaries --- src/calibre/spell/dictionary.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/calibre/spell/dictionary.py b/src/calibre/spell/dictionary.py index d095bdec2c..6bfbd8cca8 100644 --- a/src/calibre/spell/dictionary.py +++ b/src/calibre/spell/dictionary.py @@ -19,6 +19,7 @@ from calibre.utils.config import JSONConfig from calibre.utils.icu import capitalize from calibre.utils.localization import _, get_lang, get_system_locale from calibre.utils.resources import get_path as P +from calibre.utils.shared_file import share_open Dictionary = namedtuple('Dictionary', 'primary_locale locales dicpath affpath builtin name id') LoadedDictionary = namedtuple('Dictionary', 'primary_locale locales obj builtin name id') @@ -78,7 +79,7 @@ def custom_dictionaries(reread=False): if _custom is None or reread: dics = [] for lc in glob.glob(os.path.join(config_dir, 'dictionaries', '*/locales')): - with open(lc, 'rb') as cdf: + with share_open(lc, 'rb') as cdf: locales = list(filter(None, cdf.read().decode('utf-8').splitlines())) try: name, locale, locales = locales[0], locales[1], locales[1:]