From 348d6cecce0a35af03b7796f154463a84bf66baf Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 25 Feb 2018 10:22:51 +0530 Subject: [PATCH] Fix patching of search engines module not working --- src/calibre/ebooks/metadata/sources/update.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/metadata/sources/update.py b/src/calibre/ebooks/metadata/sources/update.py index 44969d43f6..7fd4e54228 100644 --- a/src/calibre/ebooks/metadata/sources/update.py +++ b/src/calibre/ebooks/metadata/sources/update.py @@ -43,6 +43,18 @@ def load_plugin(src): return x +class PatchedSearchEngines(object): + + def __init__(self, ns): + self.__ns = ns + + def __getattr__(self, attr): + try: + return self.__ns[attr] + except KeyError: + raise AttributeError('{} not present in search_engines_module'.format(attr)) + + def patch_search_engines(src): global current_search_engines src = src.encode('utf-8') @@ -54,7 +66,7 @@ def patch_search_engines(src): cv = ns.get('current_version') if cv is None or cv <= builtin_search_engines.current_version: return - current_search_engines = ns + current_search_engines = PatchedSearchEngines(ns) def patch_plugins():