-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
218 lines (173 loc) · 6.47 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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
# coding=gbk
'''
Created on 2022.1.8
@author: 红尘
'''
from JsonProcess import JsonProcess
import time
import sys
from JsonUpdate import JsonUpdate
from GeneralTool import GeneralTool
from Logger import Logger
_VERSION = "v2.6"
_NAME = "鬼谷八荒json多功能批量处理器"
_WEBSITE = "https://bbs.3dmgame.com/thread-6254819-1-1.html"
def welcomeGUI():
print("************************************************")
print(_NAME+ ' ' + _VERSION)
print("作者:红尘")
print("QQ: 93633818")
print("QQ群: 995876973")
print("b站id: 爱喝白酒的红尘")
print("3dm帖子指路:" + _WEBSITE)
print("鸣谢:如风,昊天 对本工具作出的杰出贡献")
print("************************************************")
print("请将此文件放入vallain文件夹下,与base文件夹和patch_文件同级!!!!!")
print("请将此文件放入vallain文件夹下,与base文件夹和patch_文件同级!!!!!")
print("请将此文件放入vallain文件夹下,与base文件夹和patch_文件同级!!!!!")
print("************************************************")
print("")
print("1. 单独json操作")
print("2. mod适配新版本")
print("9. 退出")
print("")
while True:
print("请选择: ")
choose = sys.stdin.readline().strip('\n')
if choose == "9":
print("")
print("谢谢使用,再见!")
input("按enter键退出")
sys.exit(0)
elif choose == '1':
GeneralTool.mkDir("./output/process/")
guiInputPath()
break
elif choose == '2':
GeneralTool.mkDir("./output/update/")
ju1 = JsonUpdate()
ju1.loopPatch()
print("")
print("操作结束")
print("输出结果在output文件夹下的update文件夹")
print("")
print("************************************************")
print("************************************************")
print("忠告:json是不允许有注释的,我帮你删了,不要养成这个习惯")
print('忠告:json文件的结尾是不允许有逗号的,希望注意')
print("若真的对注释心有执念,可以在源文件对照查看")
print("************************************************")
print("************************************************")
print('')
print('')
time.sleep(4)
welcomeGUI()
else:
print("")
print("输入不合法,请重试!")
print("")
def guiInputPath():
print("***********************************************")
print("输出文件在本目录的output文件夹中")
print("注意,是输入路径。比如你想更改patch_abc文件夹里的localtext.json,就输入patch_abc/localtext.json")
print("否则找不到文件")
print("***********************************************")
while True:
isrepeat = True
print("请输入文件路径或输入9退出:")
path = sys.stdin.readline().strip('\n')
if path == "9":
print("")
print("谢谢使用,再见!")
input("按enter键退出")
sys.exit(0)
try:
if path[-4:].lower() != "json":
path += ".json"
file = open("./" + path)
isrepeat = False
file.close()
except:
print("")
print("无法找到此json,请检查后重试!")
print("")
if isrepeat == False:
time.sleep(1)
guiMain("./" + path)
break
def guiMain(inputpath):
jp1 = JsonProcess(inputpath[2:])
print("")
print("")
print("************************************************")
print("操作文件:" + inputpath[2:])
print("严禁手动修改或移动正在操作的文件!!!")
print("************************************************")
while True:
print("************************************************")
print("1. 按给定id依次重新修改id")
print("2. 批量添加新键值--未完成")
print("3. 修改所有给定键的值--未完成")
print("9. 退出")
print("************************************************")
print("请输入文件名或输入9退出:")
a = sys.stdin.readline().strip('\n')
if a == "9":
print("")
print("谢谢使用,再见!")
input("按enter键退出")
sys.exit(0)
elif a == "1":
GeneralTool.mkDir("./output/process/" + inputpath[2:].split("/")[0])
startid = -1
isrepeat = True
time.sleep(0.5)
print('')
print("正在重修id...")
while True:
print("")
startid = input("请输入起始id: ")
try:
int(startid)
isrepeat = False
except:
print("")
print("违规输入,请重试!")
print("")
if isrepeat == False:
print("")
break
time.sleep(0.3)
print("起始id为: " + str(startid))
print("开始修改...")
jp1.processId(startid)
print("操作结束")
print("输出结果在output文件夹")
print("")
print("************************************************")
print("************************************************")
print("忠告:json是不允许有注释的,我帮你删了,不要养成这个习惯")
print('忠告:json文件的结尾是不允许有逗号的,希望注意')
print("************************************************")
print("************************************************")
print('')
print
time.sleep(4)
welcomeGUI()
break
elif a == "2" or a == "3":
print("开发中,敬请期待!")
print("")
print("")
else:
print("输入不合法,请重试!")
print("")
print("")
if __name__ == '__main__':
log_path = './Logs/'
GeneralTool.mkDir("./output/")
GeneralTool.mkDir(log_path)
# 日志文件名按照程序运行时间设置
sys.stdout = Logger(stream=sys.stdout)
sys.stderr = Logger(stream=sys.stdout)
welcomeGUI()