From 7aee5537fbe7f57f3271c486ef84451304694c13 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 7 Jan 2022 18:11:01 +0000 Subject: [PATCH] fix loading filters.py using importlib Regression from: https://github.com/saimn/sigal/commit/ceab382e0252c4d7b25f8c2905b64628a9e15ba6 Ref: https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly Fixes https://github.com/saimn/sigal/issues/451 --- sigal/writer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sigal/writer.py b/sigal/writer.py index 1381755..8d79822 100644 --- a/sigal/writer.py +++ b/sigal/writer.py @@ -93,7 +93,10 @@ class AbstractWriter: # handle optional filters.py filters_py = os.path.join(self.theme, "filters.py") if os.path.exists(filters_py): - mod = importlib.import_module(filters_py) + module_spec = importlib.util.spec_from_file_location('filters', filters_py) + mod = importlib.util.module_from_spec(module_spec) + sys.modules['filters'] = mod + module_spec.loader.exec_module(mod) for name in dir(mod): if isinstance(getattr(mod, name), types.FunctionType): env.filters[name] = getattr(mod, name)