27 lines
1.2 KiB
Python
27 lines
1.2 KiB
Python
import zipfile, json, os, re
|
|
|
|
base = r"e:\MCStudioDownload\work\3027246179@qq.com\Cpp\AddOn\0aaaa4f2f16c46e8964025a5ab0ecc02\_sa_hanhua_out"
|
|
jars = ["sa_essentials-forge-1.20.1-1.0.0.jar", "sa_lib-forge-1.20.1-1.0.1.jar", "sa_decor-forge-1.20.1-1.0.3.jar"]
|
|
|
|
for j in jars:
|
|
p = os.path.join(base, j)
|
|
if not os.path.exists(p):
|
|
print("MISSING", j); continue
|
|
print("=" * 40, j)
|
|
with zipfile.ZipFile(p) as z:
|
|
hits = [n for n in z.namelist() if 'herb' in n.lower()]
|
|
print("-- entries with 'herb':")
|
|
for n in hits:
|
|
print(" ", n)
|
|
# lang json files
|
|
langs = [n for n in z.namelist() if n.lower().endswith('.json') and '/lang/' in n.lower()]
|
|
for ln in langs:
|
|
try:
|
|
data = json.loads(z.read(ln).decode('utf-8', 'ignore'))
|
|
except Exception as e:
|
|
print(" [lang parse fail]", ln, e); continue
|
|
rel = [(k, v) for k, v in data.items() if 'herb' in k.lower() or (isinstance(v, str) and ('草' in v or 'herb' in v.lower()))]
|
|
if rel:
|
|
print("-- lang", ln, "(", len(rel), "hits )")
|
|
for k, v in rel:
|
|
print(" ", k, "=", v) |