def makePatch(self, pl_name, os_name): #step 1: update bin res and script version if not svn.update(self.resFile): if self.retryPrompt(u"更新svn出错,是否重试"): self.makePatch() return "svn up res files failed" if not svn.update(self.versionFile): if self.retryPrompt(u"更新svn出错,是否重试"): self.makePatch() return "svn up versioin file failed" #step 2: sync scipt version to remote data, #plus one and pack_script.bat will plus script version one too current = self._read_lua_version() print("remote data version:%d"%self.targetdata['script_version']) print("current local version:%d"%current) self.targetdata['script_version'] = current + 1 #step 3: pack script #os.system(self.packTool) #step 4: generate file list files = [] targets = mgr.Inst.patchFiles() if "script.script" in targets: checksum = get_file_md5(self.scriptBin).decode('utf-8') urls = ["%s/%s" % (self.patchURLRoot, "script.script")] item = {"md5":checksum, "name":"script.script", "urls":urls} files.append(item) upload = [self.scriptBin] for tar in targets: if tar == "script.script": continue p = self.resFile+tar upload.append(p) checksum = get_file_md5(p).decode('utf-8') urls = ["%s/%s" % (self.patchURLRoot, tar)] item = {"md5":checksum, "name":tar, "urls":urls} files.append(item) self.targetdata["files"] = files #step 5: upload hotfix files if not mgr.Inst.uploadFiles(pl_name, os_name, upload): return "upload hotfix files failed" #step 6: upload config json file return mgr.Inst.saveData(pl_name, os_name, self.targetdata)
def sub_call(tree, path): os.system("title %s" % tree) while True: print("1: Compile a fresh build\n") print("10: Compile Release (Installer)\n") print("2: Update") print("3: Commit") print("4: Revert\n") print("5: Start Blender\n") print("6: Compile") print("7: Clean\n") print("0: Back to Main menu") print("") op = int(input(">> ")) nsis = False if op == 1: bit = int(input("32 or 64 bit? ")) svn.update(path) rev = svn.revision(root, path) scons.clean(path) if bit == 32: scons.compile_32(path, nsis) tools.copy_libs_32(tree) elif bit == 64: scons.compile_64(path, nsis) tools.copy_libs_64(tree) else: continue tools.compress(root, tree, rev, bit) elif op == 10: bit = int(input("32 or 64 bit? ")) svn.update(path) rev = svn.revision(root, path) scons.clean(path) if bit == 32: scons.compile_32(path, nsis=True) elif bit == 64: scons.compile_64(path, nsis=True) else: continue elif op == 2: svn.update(path) elif op == 3: svn.commit(path) elif op == 4: svn.revert(path) elif op == 5: try: os.chdir('%s/install/%s' % (root, tree)) Popen('%s/install/%s/blender.exe' % (root, tree)) except: print ("No binary file found. Please recompile.") elif op == 6: bit = int(input("32 or 64 bit? ")) if bit == 32: scons.compile_32(path, nsis) elif bit == 64: scons.compile_64(path, nsis) elif op == 7: scons.clean(path) elif op == 0: os.system('cls') start()