import os import json def patch_moon(): patch_data = dict() with open("patch.json", "r") as f: patch_data = json.load(f) moon = dict() with open("moon.json", "r") as f: moon = json.load(f) endpoint_patch = patch_data.get("stableEndpoints", []) if len(endpoint_patch) == 0: print("请配置endpoint!") exit(1) moon["roots"][0]["stableEndpoints"] = endpoint_patch with open("moon.json", "w+") as f: f.write(json.dumps(moon)) def patch_world(): moon = dict() file_moon = open("moon.json", "r") moon = json.load(file_moon) file_moon.close() middle = ''' //China roots.push_back(World::Root()); roots.back().identity = Identity("{}");'''.format(moon["roots"][0]["identity"]) for i in moon["roots"][0]["stableEndpoints"]: middle += '\n roots.back().stableEndpoints.push_back(InetAddress("{}"));'.format(i) with open("mkworld.cpp", "r") as cpp: code = "".join(cpp.readlines()) with open("mknewworld.cpp", "w+") as cpp: code = code.replace(" //__PATCH_REPLACE__", middle) print(code) cpp.write(code) if __name__ == '__main__': patch_moon() patch_world()