CursorBuilder module init

This commit is contained in:
ful1e5 2020-10-09 12:47:47 +05:30
parent a6749922ac
commit c617bf3756

View file

@ -1,11 +1,8 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import tempfile from .bundler import Bundler
import shutil from .config import ConfigProvider, hotspots, sizes, delay
from os import path, listdir, rename, remove, makedirs
from .config import ConfigProvider
from clickgen import build_x11_cursor_theme, build_cursor_theme, build_win_cursor_theme from clickgen import build_x11_cursor_theme, build_cursor_theme, build_win_cursor_theme
@ -14,89 +11,49 @@ class CursorBuilder():
Bibata cursors builder 🚀 Bibata cursors builder 🚀
""" """
def __init__(self, name: str, config: ConfigProvider): def __init__(self, name: str, config: ConfigProvider) -> None:
self.__config = config
self.__name = name self.__name = name
self.__x11_out = name self.__config = config
self.__windows_out = name + "-" + "Windows" self.__bundler = Bundler(name, config)
self.__temp_out_dir = tempfile.mkdtemp()
def __window_bundle(self, win_theme_dir: str): def build_x11_cursors(self) -> None:
# Remove & Rename cursors
# If Key found => Rename else Remove
for cursor in listdir(win_theme_dir):
old_path = path.join(win_theme_dir, cursor)
try:
new_path = path.join(
win_theme_dir, self.__config.windows_cursors[cursor])
rename(old_path, new_path)
except KeyError:
remove(old_path)
# creating install.inf file
install_inf_path = path.join(win_theme_dir, "install.inf")
content = self.__config.get_windows_script(
theme_name=self.__name, author="Kaiz Khatri")
with open(install_inf_path, "w") as file:
file.write(content)
def __pack_win(self):
win_out_dir = path.join(self.__config.out_dir, self.__windows_out)
cur_dir = path.join(self.__temp_out_dir, self.__name, "win")
src = path.abspath(cur_dir)
dest = path.abspath(win_out_dir)
shutil.move(src, dest)
# create install.inf file in Windows Theme
self.__window_bundle(win_theme_dir=dest)
def __pack_x11(self):
x11_out_dir = path.join(self.__config.out_dir, self.__x11_out)
cur_dir = path.join(self.__temp_out_dir, self.__name, "x11")
src = path.abspath(cur_dir)
dest = path.abspath(x11_out_dir)
shutil.move(src, dest)
def build_x11_cursors(self):
print('🌈 Building %s Theme ...' % self.__name) print('🌈 Building %s Theme ...' % self.__name)
build_x11_cursor_theme( build_x11_cursor_theme(
name=self.__name, name=self.__name,
image_dir=self.__config.bitmaps_dir, image_dir=self.__config.bitmaps_dir,
cursor_sizes=self.__config.sizes, cursor_sizes=sizes,
hotspots=self.__config.hotspots, hotspots=hotspots,
out_path=self.__temp_out_dir, out_path=self.__config.temp_out_dir,
archive=False, archive=False,
delay=self.__config.delay delay=delay
) )
self.__pack_x11()
def build_win_cursors(self): self.__bundler.x11_bundle()
def build_win_cursors(self) -> None:
print('🌈 Building %s Theme ...' % self.__name) print('🌈 Building %s Theme ...' % self.__name)
build_win_cursor_theme( build_win_cursor_theme(
name=self.__name, name=self.__name,
image_dir=self.__config.bitmaps_dir, image_dir=self.__config.bitmaps_dir,
cursor_sizes=self.__config.sizes, cursor_sizes=sizes,
hotspots=self.__config.hotspots, hotspots=hotspots,
out_path=self.__temp_out_dir, out_path=self.__config.temp_out_dir,
archive=False, archive=False,
delay=self.__config.delay delay=delay
) )
self.__pack_win()
def build_cursors(self): self.__bundler.win_bundle()
def build_cursors(self) -> None:
print('🌈 Building %s Theme ...' % self.__name) print('🌈 Building %s Theme ...' % self.__name)
build_cursor_theme( build_cursor_theme(
name=self.__name, name=self.__name,
image_dir=self.__config.bitmaps_dir, image_dir=self.__config.bitmaps_dir,
cursor_sizes=self.__config.sizes, cursor_sizes=sizes,
hotspots=self.__config.hotspots, hotspots=hotspots,
out_path=self.__temp_out_dir, out_path=self.__config.temp_out_dir,
archive=False, archive=False,
delay=self.__config.delay delay=delay
) )
self.__pack_x11()
self.__pack_win() self.__bundler.bundle()