"""Делает текст в описании аниме копируемым "selectable_text": { "enabled": true } """ __author__ = "wowlikon " __version__ = "1.0.0" from typing import Any, Dict from lxml import etree from pydantic import Field from utils.config import PatchTemplate class Patch(PatchTemplate): priority: int = Field(frozen=True, exclude=True, default=0) def apply(self, base: Dict[str, Any]) -> bool: file_path = "./decompiled/res/layout/release_info.xml" parser = etree.XMLParser(remove_blank_text=True) tree = etree.parse(file_path, parser) root = tree.getroot() # Список тегов, к которым нужно добавить атрибут tags = ["TextView", "at.blogc.android.views.ExpandableTextView"] for tag in tags: for element in root.findall(f".//{tag}", namespaces=base["xml_ns"]): # Проверяем, нет ли уже атрибута if ( f"{{{base['xml_ns']['android']}}}textIsSelectable" not in element.attrib ): element.set( f"{{{base['xml_ns']['android']}}}textIsSelectable", "true" ) # Сохраняем tree.write(file_path, encoding="utf-8", xml_declaration=True, pretty_print=True) return True