mirror of
https://github.com/imarkoff/Marble-shell-theme.git
synced 2025-09-18 09:17:54 -07:00
Extracted dependencies in ThemePreparation
This commit is contained in:
@@ -4,11 +4,13 @@ from scripts import config
|
|||||||
from scripts.install.colors_definer import ColorsDefiner
|
from scripts.install.colors_definer import ColorsDefiner
|
||||||
from scripts.utils.color_converter import ColorConverterImpl
|
from scripts.utils.color_converter import ColorConverterImpl
|
||||||
from scripts.utils.logger.console import Console
|
from scripts.utils.logger.console import Console
|
||||||
|
from scripts.utils.style_manager import StyleManager
|
||||||
from scripts.utils.theme.theme import Theme
|
from scripts.utils.theme.theme import Theme
|
||||||
from scripts.utils.theme.theme_color_applier import ColorReplacementGenerator, ThemeColorApplier
|
from scripts.utils.theme.theme_color_applier import ColorReplacementGenerator, ThemeColorApplier
|
||||||
from scripts.utils.theme.theme_installer import ThemeInstaller
|
from scripts.utils.theme.theme_installer import ThemeInstaller
|
||||||
from scripts.utils.theme.theme_path_provider import ThemePathProvider
|
from scripts.utils.theme.theme_path_provider import ThemePathProvider
|
||||||
from scripts.utils.theme.theme_preparation import ThemePreparation
|
from scripts.utils.theme.theme_preparation import ThemePreparation
|
||||||
|
from scripts.utils.theme.theme_temp_manager import ThemeTempManager
|
||||||
from theme import SourceFolder
|
from theme import SourceFolder
|
||||||
|
|
||||||
|
|
||||||
@@ -78,8 +80,12 @@ class GnomeShellThemeBuilder:
|
|||||||
return Theme(self.preparation, self.installer, self.mode, self.is_filled)
|
return Theme(self.preparation, self.installer, self.mode, self.is_filled)
|
||||||
|
|
||||||
def _resolve_preparation(self):
|
def _resolve_preparation(self):
|
||||||
if self.preparation is None:
|
if self.preparation is not None: return
|
||||||
self.preparation = ThemePreparation(self.source_folder, self.temp_folder, self.main_styles)
|
|
||||||
|
file_manager = ThemeTempManager(self.temp_folder)
|
||||||
|
style_manager = StyleManager(self.main_styles)
|
||||||
|
self.preparation = ThemePreparation(self.source_folder,
|
||||||
|
file_manager=file_manager, style_manager=style_manager)
|
||||||
|
|
||||||
def _resolve_installer(self):
|
def _resolve_installer(self):
|
||||||
if self.installer is not None: return
|
if self.installer is not None: return
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
|
import warnings
|
||||||
|
|
||||||
from scripts.utils import replace_keywords
|
from scripts.utils import replace_keywords
|
||||||
from scripts.utils.theme.theme_temp_manager import ThemeTempManager
|
from scripts.utils.theme.theme_temp_manager import ThemeTempManager
|
||||||
@@ -11,32 +12,49 @@ class ThemePreparation:
|
|||||||
and preparing them for installation.
|
and preparing them for installation.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, sources_location: str, temp_folder: str, combined_styles_location: str):
|
def __init__(self, sources_location: str, file_manager: ThemeTempManager, style_manager: StyleManager):
|
||||||
self.sources_location = sources_location
|
self.sources_location = sources_location
|
||||||
self.temp_folder = temp_folder
|
|
||||||
self.combined_styles_location = combined_styles_location
|
|
||||||
|
|
||||||
self.file_manager = ThemeTempManager(temp_folder)
|
self.file_manager = file_manager
|
||||||
self.style_manager = StyleManager(combined_styles_location)
|
self.style_manager = style_manager
|
||||||
|
|
||||||
|
@property
|
||||||
|
def temp_folder(self):
|
||||||
|
return self.file_manager.temp_folder
|
||||||
|
|
||||||
|
@property
|
||||||
|
def combined_styles_location(self):
|
||||||
|
return self.style_manager.output_file
|
||||||
|
|
||||||
def __add__(self, content: str) -> "ThemePreparation":
|
def __add__(self, content: str) -> "ThemePreparation":
|
||||||
|
"""Append additional styles to the main styles file."""
|
||||||
self.style_manager.append_content(content)
|
self.style_manager.append_content(content)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def __mul__(self, content: str) -> "ThemePreparation":
|
def __mul__(self, content: str) -> "ThemePreparation":
|
||||||
|
"""Adds a file to the theme, copying it to the temporary folder."""
|
||||||
self.file_manager.copy_to_temp(content)
|
self.file_manager.copy_to_temp(content)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def add_to_start(self, content) -> "ThemePreparation":
|
def add_to_start(self, content) -> "ThemePreparation":
|
||||||
|
"""Inserts content at the beginning of the main styles file."""
|
||||||
self.style_manager.prepend_content(content)
|
self.style_manager.prepend_content(content)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def prepare(self):
|
def prepare(self):
|
||||||
|
"""
|
||||||
|
Extract theme from source folder and prepare it for installation.
|
||||||
|
"""
|
||||||
self.file_manager.prepare_files(self.sources_location)
|
self.file_manager.prepare_files(self.sources_location)
|
||||||
self.style_manager.generate_combined_styles(self.sources_location, self.temp_folder)
|
self.style_manager.generate_combined_styles(self.sources_location, self.temp_folder)
|
||||||
self.file_manager.cleanup()
|
self.file_manager.cleanup()
|
||||||
|
|
||||||
|
@warnings.deprecated
|
||||||
def replace_filled_keywords(self):
|
def replace_filled_keywords(self):
|
||||||
|
"""
|
||||||
|
Replace keywords in the theme files for filled mode.
|
||||||
|
This method is deprecated and will be removed in future versions.
|
||||||
|
"""
|
||||||
for apply_file in os.listdir(f"{self.temp_folder}/"):
|
for apply_file in os.listdir(f"{self.temp_folder}/"):
|
||||||
replace_keywords(f"{self.temp_folder}/{apply_file}",
|
replace_keywords(f"{self.temp_folder}/{apply_file}",
|
||||||
("BUTTON-COLOR", "ACCENT-FILLED-COLOR"),
|
("BUTTON-COLOR", "ACCENT-FILLED-COLOR"),
|
||||||
|
Reference in New Issue
Block a user