From 1e305b3c4cfa3dc3fb9cabc321564515f54bf8ee Mon Sep 17 00:00:00 2001 From: Yury Ignatev Date: Sun, 1 Nov 2020 18:14:57 +0700 Subject: [PATCH] jinja templating --- .gitignore | 2 ++ pywal/export.py | 13 ++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a554d9d..bc0646b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ build/* .coverage .vscode/* __pycache__/* +.idea +venv diff --git a/pywal/export.py b/pywal/export.py index 47ea4d2..887b929 100644 --- a/pywal/export.py +++ b/pywal/export.py @@ -7,6 +7,13 @@ import re from . import util from .settings import CACHE_DIR, CONF_DIR, MODULE_DIR +from jinja2 import Template + + +def template_jinja(colors, input_file, output_file=None): + data = util.read_file_raw(input_file) + t = Template("".join(data)) + util.save_file(t.render(**colors), output_file.replace(".jinja", "")) def template(colors, input_file, output_file=None): @@ -123,7 +130,11 @@ def every(colors, output_dir=CACHE_DIR): join = os.path.join # Minor optimization. for file in [*os.scandir(template_dir), *os.scandir(template_dir_user)]: - if file.name != ".DS_Store" and not file.name.endswith(".swp"): + if file.name == ".DS_Store" or file.name.endswith(".swp"): + continue + if file.name.endswith(".jinja"): + template_jinja(colors, file.path, join(output_dir, file.name)) + else: template(colors, file.path, join(output_dir, file.name)) logging.info("Exported all files.")