From 2639cc26bab496a08074505024a1d9d6099890a6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 18 Aug 2014 09:45:03 +0530 Subject: [PATCH] Fix allow_user_override not working for I() and also fix allow_user_override not working with different values for the same path. --- src/calibre/utils/resources.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/calibre/utils/resources.py b/src/calibre/utils/resources.py index fdad08f5e7..7ec24aa776 100644 --- a/src/calibre/utils/resources.py +++ b/src/calibre/utils/resources.py @@ -45,7 +45,8 @@ class PathResolver(object): def __call__(self, path, allow_user_override=True): path = path.replace(os.sep, '/') - ans = self.cache.get(path, None) + key = (path, allow_user_override) + ans = self.cache.get(key, None) if ans is None: for base in self.locations: if not allow_user_override and base == self.user_path: @@ -58,7 +59,7 @@ class PathResolver(object): if ans is None: ans = os.path.join(self.default_path, *path.split('/')) - self.cache[path] = ans + self.cache[key] = ans return ans @@ -73,8 +74,8 @@ def get_path(path, data=False, allow_user_override=True): def get_image_path(path, data=False, allow_user_override=True): if not path: - return get_path('images') - return get_path('images/'+path, data=data) + return get_path('images', allow_user_override=allow_user_override) + return get_path('images/'+path, data=data, allow_user_override=allow_user_override) def _compile_coffeescript(name): from calibre.utils.serve_coffee import compile_coffeescript