def RevertToolVersion(self, tool_id, version_num): tool = self.GetTool(tool_id) with transaction.atomic(): dev = ToolVersions.GetDevelopmentVersion(tool) ver = ToolVersions.GetToolVersion(tool, version_num) #set development version details to old details dev.ShortDescription = ver.ShortDescription dev.LongDescription = ver.LongDescription dev.save() #delete development parameters and replace with old parameters Parameters.DeleteParameters(self.user, dev) Parameters.CopyParameters(self.user, ver, dev) #delete development outputs and replace with old outputs ExpectedOutputs.DeleteOutputs(self.user, dev) ExpectedOutputs.CopyOutputs(self.user, ver, dev) #delete development outputs and replace with old outputs Resources.DeleteResources(self.user, dev) Resources.CopyResources(self.user, ver, dev) #delete development scripts and files and replace with old dev_dir = os.path.join(self.base_dir, "tools/%s/dev" % str(tool_id)) ver_dir = os.path.join(self.base_dir, "tools/%s/%s" % (str(tool_id), ver.ToolVersionNum)) shutil.rmtree(dev_dir) Directory.copy_directory(ver_dir, dev_dir, 0755) return dev
def UpdateExpectedOutput(self, output): if output["DeleteInd"]: ExpectedOutputs.DeleteExpectedOutput(self.user, output["ExpectedOutputID"]) else: ExpectedOutputs.UpdateExpectedOutput(self.user, output["ExpectedOutputID"], output["OutputName"], output["FileName"], output["FileTypeID"])
def PublishTool(self, tool_id, version_nums): tool = self.GetTool(tool_id) version_num = "%s.%s.%s" % (version_nums['Major'],version_nums['Minor'], version_nums['Patch']) with transaction.atomic(): #copy the development tool version dev = ToolVersions.GetDevelopmentVersion(tool) new = ToolVersions.PublishToolVersion(self.user, dev, version_num) #copy dev scripts and files to new version dev_dir = os.path.join(self.base_dir, "tools/%s/dev" % str(tool_id)) new_dir = os.path.join(self.base_dir, "tools/%s/%s" % (str(tool_id), new.ToolVersionNum)) Directory.copy_directory(dev_dir, new_dir, 0755) #copy parameters Parameters.CopyParameters(self.user, dev, new) #copy outputs ExpectedOutputs.CopyOutputs(self.user, dev, new) #copy default resources Resources.CopyResources(self.user, dev, new) return new
def AddExpectedOutput(self, tool, output): ExpectedOutputs.AddExpectedOutput(self.user, tool, output["OutputName"], output["FileName"], output["FileTypeID"])