Улучшение cli и удобства создания патчей
Сборка мода / build (push) Successful in 2m16s

This commit is contained in:
2025-12-28 17:47:56 +03:00
parent ec047cd3a5
commit 70337ee3ec
35 changed files with 2200 additions and 1111 deletions
+23 -23
View File
@@ -11,43 +11,43 @@
}
"""
priority = 0
__author__ = "wowlikon <wowlikon@gmail.com>"
__version__ = "1.0.0"
from typing import Any, Dict
# imports
from tqdm import tqdm
from lxml import etree
from typing import Dict, Any
from pydantic import Field
from utils.config import PatchConfig
from utils.config import PatchTemplate
#Config
DEFAULT_FORMATS = {
"share_channel_text": "Канал: «%1$s»\n%2$schannel/%3$d",
"share_collection_text": "Коллекция: «%1$s»\n%2$scollection/%3$d",
"share_profile_text": "Профиль пользователя «%1$s»\n%2$sprofile/%3$d",
"share_release_text": "Релиз: «%1$s»\n%2$srelease/%3$d"
"share_release_text": "Релиз: «%1$s»\n%2$srelease/%3$d",
}
class Config(PatchConfig):
format: Dict[str, str] = Field(DEFAULT_FORMATS, description="Строки для замены в `strings.xml`")
# Patch
def apply(config: Config, base: Dict[str, Any]) -> bool:
class Patch(PatchTemplate):
priority: int = Field(frozen=True, exclude=True, default=0)
format: Dict[str, str] = Field(
DEFAULT_FORMATS, description="Строки для замены в `strings.xml`"
)
file_path = "./decompiled/res/values/strings.xml"
def apply(self, base: Dict[str, Any]) -> bool:
file_path = "./decompiled/res/values/strings.xml"
parser = etree.XMLParser(remove_blank_text=True)
tree = etree.parse(file_path, parser)
root = tree.getroot()
parser = etree.XMLParser(remove_blank_text=True)
tree = etree.parse(file_path, parser)
root = tree.getroot()
# Обновляем значения
for string in root.findall("string"):
name = string.get("name")
if name in config.format:
string.text = config.format[name]
# Обновляем значения
for string in root.findall("string"):
name = string.get("name")
if name in self.format:
string.text = self.format[name]
# Сохраняем обратно
tree.write(file_path, encoding="utf-8", xml_declaration=True, pretty_print=True)
# Сохраняем обратно
tree.write(file_path, encoding="utf-8", xml_declaration=True, pretty_print=True)
return True
return True