mirror of
https://github.com/dylanaraps/pywal.git
synced 2025-05-22 01:00:56 +02:00
api: Add function to export individual templates.
This commit is contained in:
parent
a84275f1f4
commit
d1c2b8023d
@ -15,13 +15,15 @@ from .image import get as get_image
|
|||||||
from .reload import colors as reload_colors
|
from .reload import colors as reload_colors
|
||||||
from .reload import env as reload_env
|
from .reload import env as reload_env
|
||||||
from .sequences import send as send_sequences
|
from .sequences import send as send_sequences
|
||||||
from .template import export_all as export_all_templates
|
from .template import export_all
|
||||||
|
from .template import export
|
||||||
from .wallpaper import change as set_wallpaper
|
from .wallpaper import change as set_wallpaper
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"__version__",
|
"__version__",
|
||||||
"create_palette",
|
"create_palette",
|
||||||
"export_all_templates",
|
"export_all",
|
||||||
|
"export",
|
||||||
"get_image",
|
"get_image",
|
||||||
"reload_colors",
|
"reload_colors",
|
||||||
"reload_env",
|
"reload_env",
|
||||||
|
@ -2,11 +2,15 @@
|
|||||||
Export colors in various formats.
|
Export colors in various formats.
|
||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
|
import pathlib
|
||||||
|
|
||||||
from .settings import __cache_dir__
|
from .settings import __cache_dir__
|
||||||
from . import util
|
from . import util
|
||||||
|
|
||||||
|
|
||||||
|
TEMPLATE_DIR = pathlib.Path(__file__).parent / "templates"
|
||||||
|
|
||||||
|
|
||||||
def template(colors, input_file, cache_dir):
|
def template(colors, input_file, cache_dir):
|
||||||
"""Read template file, substitute markers and
|
"""Read template file, substitute markers and
|
||||||
save the file elsewhere."""
|
save the file elsewhere."""
|
||||||
@ -18,15 +22,28 @@ def template(colors, input_file, cache_dir):
|
|||||||
print(f"export: Exported {template_name}.")
|
print(f"export: Exported {template_name}.")
|
||||||
|
|
||||||
|
|
||||||
def export_all(colors, cache_dir=__cache_dir__, template_dir=None):
|
def flatten_colors(colors):
|
||||||
"""Export all template files."""
|
"""Prepare colors to be exported. (Flatten dicts)"""
|
||||||
template_dir = template_dir or \
|
|
||||||
os.path.join(os.path.dirname(__file__), "templates")
|
|
||||||
|
|
||||||
all_colors = {"wallpaper": colors["wallpaper"],
|
all_colors = {"wallpaper": colors["wallpaper"],
|
||||||
**colors["special"],
|
**colors["special"],
|
||||||
**colors["colors"]}
|
**colors["colors"]}
|
||||||
all_colors = {k: util.Color(v) for k, v in all_colors.items()}
|
return {k: util.Color(v) for k, v in all_colors.items()}
|
||||||
|
|
||||||
for file in os.scandir(template_dir):
|
|
||||||
|
def export_all(colors, cache_dir=__cache_dir__):
|
||||||
|
"""Export all template files."""
|
||||||
|
all_colors = flatten_colors(colors)
|
||||||
|
|
||||||
|
for file in os.scandir(TEMPLATE_DIR):
|
||||||
template(all_colors, file.path, cache_dir)
|
template(all_colors, file.path, cache_dir)
|
||||||
|
|
||||||
|
|
||||||
|
def export(colors, file, cache_dir=__cache_dir__):
|
||||||
|
"""Export a single template file."""
|
||||||
|
all_colors = flatten_colors(colors)
|
||||||
|
template_file = TEMPLATE_DIR / file
|
||||||
|
|
||||||
|
if template_file.is_file():
|
||||||
|
template(all_colors, template_file, cache_dir)
|
||||||
|
else:
|
||||||
|
print(f"[!] warning: template '{template_file}' doesn't exist.")
|
||||||
|
Loading…
Reference in New Issue
Block a user