Обновление вывода информации о патчах, добавление патча лайков/дизлайков
This commit is contained in:
@@ -1,6 +0,0 @@
|
||||
import struct
|
||||
|
||||
|
||||
def float_to_hex(f):
|
||||
b = struct.pack(">f", f)
|
||||
return b.hex()
|
||||
+13
-5
@@ -1,8 +1,9 @@
|
||||
from lxml import etree
|
||||
from typing_extensions import Optional
|
||||
from copy import deepcopy
|
||||
from lxml import etree
|
||||
|
||||
|
||||
def insert_after_public(anchor_name: str, elem_name: str):
|
||||
def insert_after_public(anchor_name: str, elem_name: str) -> Optional[int]:
|
||||
file_path = "./decompiled/res/values/public.xml"
|
||||
parser = etree.XMLParser(remove_blank_text=True)
|
||||
tree = etree.parse(file_path, parser)
|
||||
@@ -19,6 +20,8 @@ def insert_after_public(anchor_name: str, elem_name: str):
|
||||
anchor = (elem, attrs)
|
||||
types[attrs["type"]] = types.get(attrs["type"], []) + [int(attrs["id"], 16)]
|
||||
|
||||
assert anchor != None
|
||||
|
||||
free_ids = set()
|
||||
group = types[anchor[1]["type"]]
|
||||
for i in range(min(group), max(group) + 1):
|
||||
@@ -47,7 +50,7 @@ def insert_after_public(anchor_name: str, elem_name: str):
|
||||
return new_id
|
||||
|
||||
|
||||
def insert_after_id(anchor_name: str, elem_name: str):
|
||||
def insert_after_id(anchor_name: str, elem_name: str) -> None:
|
||||
file_path = "./decompiled/res/values/ids.xml"
|
||||
parser = etree.XMLParser(remove_blank_text=True)
|
||||
tree = etree.parse(file_path, parser)
|
||||
@@ -62,13 +65,15 @@ def insert_after_id(anchor_name: str, elem_name: str):
|
||||
assert anchor == None
|
||||
anchor = (elem, attrs)
|
||||
|
||||
assert anchor != None
|
||||
|
||||
new_elem = deepcopy(anchor[0])
|
||||
new_elem.set("name", elem_name)
|
||||
anchor[0].addnext(new_elem)
|
||||
tree.write(file_path, pretty_print=True, xml_declaration=True, encoding="utf-8")
|
||||
|
||||
|
||||
def change_color(name: str, value: str):
|
||||
def change_color(name: str, value: str) -> None:
|
||||
file_path = "./decompiled/res/values/colors.xml"
|
||||
parser = etree.XMLParser(remove_blank_text=True)
|
||||
tree = etree.parse(file_path, parser)
|
||||
@@ -86,7 +91,8 @@ def change_color(name: str, value: str):
|
||||
assert replacements >= 1
|
||||
tree.write(file_path, pretty_print=True, xml_declaration=True, encoding="utf-8")
|
||||
|
||||
def insert_after_color(anchor_name: str, elem_name: str, elem_value: str):
|
||||
|
||||
def insert_after_color(anchor_name: str, elem_name: str, elem_value: str) -> None:
|
||||
file_path = "./decompiled/res/values/colors.xml"
|
||||
parser = etree.XMLParser(remove_blank_text=True)
|
||||
tree = etree.parse(file_path, parser)
|
||||
@@ -101,6 +107,8 @@ def insert_after_color(anchor_name: str, elem_name: str, elem_value: str):
|
||||
assert anchor == None
|
||||
anchor = (elem, attrs)
|
||||
|
||||
assert anchor != None
|
||||
|
||||
new_elem = deepcopy(anchor[0])
|
||||
new_elem.set("name", elem_name)
|
||||
anchor[0].addnext(new_elem)
|
||||
|
||||
@@ -67,3 +67,11 @@ def find_and_replace_smali_line(
|
||||
def float_to_hex(f):
|
||||
b = struct.pack(">f", f)
|
||||
return b.hex()
|
||||
|
||||
|
||||
def quick_replace(file: str) -> None:
|
||||
content = ""
|
||||
with open(file, "r", encoding="utf-8") as smali:
|
||||
content = smali.read()
|
||||
with open(file, "w", encoding="utf-8") as f:
|
||||
f.writelines(content)
|
||||
|
||||
@@ -19,6 +19,7 @@ def ensure_dirs():
|
||||
for d in [TOOLS, ORIGINAL, MODIFIED, DECOMPILED, PATCHES, CONFIGS]:
|
||||
d.mkdir(exist_ok=True)
|
||||
|
||||
|
||||
def run(console: Console, cmd: List[str], hide_output=True):
|
||||
prog = local[cmd[0]][cmd[1:]]
|
||||
try:
|
||||
@@ -28,6 +29,7 @@ def run(console: Console, cmd: List[str], hide_output=True):
|
||||
console.print(e.stderr)
|
||||
raise typer.Exit(1)
|
||||
|
||||
|
||||
def download(console: Console, url: str, dest: Path):
|
||||
console.print(f"[cyan]Скачивание {url} → {dest.name}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user