загружаю

This commit is contained in:
2026-09-07 19:07:40 +03:00
commit 1485819556
16 changed files with 1526 additions and 0 deletions
+76
View File
@@ -0,0 +1,76 @@
#!/usr/bin/env python3
"""
Скрипт декомпиляции .cst файлов.
Запускать из папки translate_util.
Спрашивает, в какой папке лежат .cst файлы (по умолчанию update00/text),
и декомпилирует все .cst файлы из неё в папку txt с помощью
tool\\cs2_decompile.exe.
"""
import subprocess
import sys
from pathlib import Path
# Корень translate_util — папка, откуда запущен скрипт
BASE_DIR = Path(__file__).resolve().parent
TOOL_EXE = BASE_DIR / "tool" / "cs2_decompile.exe"
TXT_DIR = BASE_DIR / "txt"
def main():
if not TOOL_EXE.exists():
print(f"Ошибка: не найден {TOOL_EXE}")
sys.exit(1)
src_input = input("В какой папке лежат .cst файлы? [update00/text]: ").strip()
src_dir_name = src_input if src_input else "update00/text"
src_dir = BASE_DIR / src_dir_name
if not src_dir.is_dir():
print(f"Ошибка: папка не найдена: {src_dir}")
sys.exit(1)
TXT_DIR.mkdir(exist_ok=True)
cst_files = sorted(src_dir.glob("*.cst"))
if not cst_files:
print(f"В папке {src_dir} не найдено .cst файлов.")
sys.exit(0)
print(f"Найдено файлов: {len(cst_files)}")
print(f"Источник: {src_dir}")
print(f"Результат будет в: {TXT_DIR}\n")
ok_count = 0
fail_count = 0
for cst_file in cst_files:
print(f"-> {cst_file.name}")
try:
result = subprocess.run(
[str(TOOL_EXE), str(cst_file)],
cwd=str(TXT_DIR),
capture_output=True,
text=True,
)
if result.stdout:
print(result.stdout.strip())
if result.stderr:
print(result.stderr.strip())
if result.returncode == 0:
ok_count += 1
else:
fail_count += 1
print(f" [!] Код возврата: {result.returncode}")
except Exception as e:
fail_count += 1
print(f" [!] Ошибка запуска: {e}")
print(f"\nГотово. Успешно: {ok_count}, с ошибками: {fail_count}")
if __name__ == "__main__":
main()