perf: improving performance, layout (#215)
Co-authored-by: nullishamy <git@amyerskine.me>
This commit is contained in:
74
sources/build/__init__.py
Normal file
74
sources/build/__init__.py
Normal file
@@ -0,0 +1,74 @@
|
||||
from argparse import Namespace
|
||||
import shutil
|
||||
|
||||
from .patches import apply_colloid_patches
|
||||
from .theme import build_with_context, gnome_shell_version
|
||||
from .utils import init_tweaks_temp
|
||||
from .context import Tweaks, BuildContext
|
||||
from .logger import logger
|
||||
from catppuccin import PALETTE
|
||||
|
||||
|
||||
def execute_build(git_root: str, args: Namespace):
|
||||
|
||||
colloid_dir = f"{git_root}/sources/colloid"
|
||||
colloid_tmp_dir = f"{git_root}/.tmp/colloid-tmp-{args.flavor}"
|
||||
shutil.copytree(colloid_dir, colloid_tmp_dir)
|
||||
src_dir = colloid_tmp_dir + "/src"
|
||||
|
||||
tweaks = Tweaks(tweaks=args.tweaks)
|
||||
palette = getattr(PALETTE, args.flavor)
|
||||
output_format = "zip" if args.zip else "dir"
|
||||
|
||||
if args.patch:
|
||||
patch_dir = git_root + "/sources/patches/colloid/"
|
||||
apply_colloid_patches(colloid_tmp_dir, patch_dir)
|
||||
|
||||
accents = args.accents
|
||||
if args.all_accents:
|
||||
accents = [
|
||||
"rosewater",
|
||||
"flamingo",
|
||||
"pink",
|
||||
"mauve",
|
||||
"red",
|
||||
"maroon",
|
||||
"peach",
|
||||
"yellow",
|
||||
"green",
|
||||
"teal",
|
||||
"sky",
|
||||
"sapphire",
|
||||
"blue",
|
||||
"lavender",
|
||||
]
|
||||
|
||||
for accent in accents:
|
||||
accent = getattr(palette.colors, accent)
|
||||
|
||||
ctx = BuildContext(
|
||||
output_root=args.dest,
|
||||
colloid_src_dir=src_dir,
|
||||
git_root=git_root,
|
||||
theme_name=args.name,
|
||||
flavor=palette,
|
||||
accent=accent,
|
||||
size=args.size,
|
||||
tweaks=tweaks,
|
||||
output_format=output_format,
|
||||
)
|
||||
|
||||
logger.info("Building temp tweaks file")
|
||||
init_tweaks_temp(src_dir)
|
||||
|
||||
logger.info("Inserting gnome-shell imports")
|
||||
gnome_shell_version(src_dir)
|
||||
|
||||
logger.info("Building main theme")
|
||||
build_with_context(ctx)
|
||||
|
||||
logger.info(f"Completed {palette.identifier} with {accent.identifier}")
|
||||
print()
|
||||
|
||||
shutil.rmtree(colloid_tmp_dir)
|
||||
logger.info("Done!")
|
Reference in New Issue
Block a user