-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
71 lines (51 loc) · 1.72 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName : main.py
# @Author : kang.chen
# @Time : 2023/3/23
# @Note :
import encoder
import encrypter
import packer
import asset_bundle
import translator
from typing import Optional, Callable
import ygocdb
ui_interface_log: Optional[Callable] = None
def ui_print(s: str):
if callable(ui_interface_log):
ui_interface_log(s)
else:
print(s)
def main(md_path: str = None, update_ygocdb_file=True, log: Optional[Callable] = None):
global ui_interface_log
ui_interface_log = log
if update_ygocdb_file:
ui_print("更新百鸽数据...")
ygocdb.update_ygocdb_file()
ui_print("遍历MD文件...")
origin_asset_files = asset_bundle.copy_from_md(md_path, ui=ui_print)
ui_print("生成asset map...")
asset_map = packer.unpack(origin_asset_files)
ui_print("解密...")
crack_key = encrypter.get_crack_key(asset_map['zh-cn']['CARD_Name']['data'])
print(f"crack key:[{crack_key}]")
encrypter.decrypt_asset_map(asset_map, crack_key)
ui_print("提取asset文件...")
encoder.extract_asset_map_files(asset_map)
ui_print("生成卡片列表...")
cards = encoder.gen_card_list(asset_map)
ui_print("翻译中...")
translator.translate(cards, ui=ui_print)
encoder.accept_translation(cards)
ui_print("更新asset map...")
encoder.update_asset_map(asset_map, cards)
ui_print("加密...")
encrypter.encrypt_asset_map(asset_map, crack_key)
ui_print("生成翻译文件...")
translated_asset_files = packer.pack(asset_map)
asset_bundle.copy_to_output_path(translated_asset_files, md_path=md_path)
ui_print("成功")
return
if __name__ == "__main__":
main()