def getRepMap(self, alignment=None): result = super(GenericValidationData, self).getRepMap(alignment) outputfile = os.path.expandvars( replaceByMap( "%s_%s_.oO[name]Oo..root" % (self.outputBaseName, self.name), result)) resultfile = os.path.expandvars( replaceByMap( ("/store/caf/user/$USER/.oO[eosdir]Oo./" + "%s_%s_.oO[name]Oo..root" % (self.resultBaseName, self.name)), result)) result.update({ "resultFile": ".oO[resultFiles[.oO[nIndex]Oo.]]Oo.", "resultFiles": addIndex(resultfile, self.NJobs), "finalResultFile": resultfile, "outputFile": ".oO[outputFiles[.oO[nIndex]Oo.]]Oo.", "outputFiles": addIndex(outputfile, self.NJobs), "finalOutputFile": outputfile, "ProcessName": self.ProcessName, "Bookkeeping": self.Bookkeeping, "LoadBasicModules": self.LoadBasicModules, "TrackSelectionRefitting": self.TrackSelectionRefitting, "ValidationConfig": self.ValidationTemplate, "FileOutputTemplate": self.FileOutputTemplate, "DefinePath": self.DefinePath, }) return result
def createScript(self, fileContents, path, downloadFiles=[], repMap = None, repMaps = None): self.scriptFiles = GenericValidation.createFiles(self, fileContents, path, repMap = repMap, repMaps = repMaps) for script in self.scriptFiles: for scriptwithindex in addIndex(script, self.NJobs): os.chmod(scriptwithindex,0755) return self.scriptFiles
def createScript(self, fileContents, path, downloadFiles=[], repMap = None, repMaps = None): self.scriptFiles = self.createFiles(fileContents, path, repMap = repMap, repMaps = repMaps) for script in self.scriptFiles: for scriptwithindex in addIndex(script, self.NJobs): os.chmod(scriptwithindex,0o755) return self.scriptFiles
def getRepMap(self, alignment = None): result = GenericValidation.getRepMap(self, alignment) outputfile = os.path.expandvars(replaceByMap( "%s_%s_.oO[name]Oo..root" % (self.outputBaseName, self.name) , result)) resultfile = os.path.expandvars(replaceByMap(("/store/caf/user/$USER/.oO[eosdir]Oo./" + "%s_%s_.oO[name]Oo..root" % (self.resultBaseName, self.name)) , result)) result.update({ "resultFile": ".oO[resultFiles[.oO[nIndex]Oo.]]Oo.", "resultFiles": addIndex(resultfile, self.NJobs), "finalResultFile": resultfile, "outputFile": ".oO[outputFiles[.oO[nIndex]Oo.]]Oo.", "outputFiles": addIndex(outputfile, self.NJobs), "finalOutputFile": outputfile }) return result
def createScript(self, path, template = configTemplates.scriptTemplate, downloadFiles=[], repMap = None, repMaps = None): scriptName = "%s.%s.%s.sh"%(self.scriptBaseName, self.name, self.alignmentToValidate.name ) if repMap is None and repMaps is None: repMap = self.getRepMap() repMap["CommandLine"]="" for cfg in self.configFiles: repMap["CommandLine"]+= repMap["CommandLineTemplate"]%{"cfgFile":addIndex(cfg, self.NJobs, ".oO[nIndex]Oo."), "postProcess":"" } scripts = {scriptName: template} return super(GenericValidationData, self).createScript(scripts, path, downloadFiles = downloadFiles, repMap = repMap, repMaps = repMaps)
def createScript(self, path, template = configTemplates.scriptTemplate, downloadFiles=[], repMap = None, repMaps = None): scriptName = "%s.%s.%s.sh"%(self.scriptBaseName, self.name, self.alignmentToValidate.name ) if repMap is None and repMaps is None: repMap = self.getRepMap() repMap["CommandLine"]="" for cfg in self.configFiles: repMap["CommandLine"]+= repMap["CommandLineTemplate"]%{"cfgFile":addIndex(cfg, self.NJobs, ".oO[nIndex]Oo."), "postProcess":"" } scripts = {scriptName: template} return GenericValidation.createScript(self, scripts, path, downloadFiles = downloadFiles, repMap = repMap, repMaps = repMaps)
def getRepMap(self, alignment = None): result = super(GenericValidationData, self).getRepMap(alignment) outputfile = os.path.expandvars(replaceByMap( "%s_%s_.oO[name]Oo..root" % (self.outputBaseName, self.name) , result)) resultfile = os.path.expandvars(replaceByMap(("/store/caf/user/$USER/.oO[eosdir]Oo./" + "%s_%s_.oO[name]Oo..root" % (self.resultBaseName, self.name)) , result)) result.update({ "resultFile": ".oO[resultFiles[.oO[nIndex]Oo.]]Oo.", "resultFiles": addIndex(resultfile, self.NJobs), "finalResultFile": resultfile, "outputFile": ".oO[outputFiles[.oO[nIndex]Oo.]]Oo.", "outputFiles": addIndex(outputfile, self.NJobs), "finalOutputFile": outputfile, "ProcessName": self.ProcessName, "Bookkeeping": self.Bookkeeping, "LoadBasicModules": self.LoadBasicModules, "TrackSelectionRefitting": self.TrackSelectionRefitting, "ValidationConfig": self.ValidationTemplate, "FileOutputTemplate": self.FileOutputTemplate, "DefinePath": self.DefinePath, }) return result
def createFiles(self, fileContents, path, repMap = None, repMaps = None): """repMap: single map for all files repMaps: a dict, with the filenames as the keys""" if repMap is not None and repMaps is not None: raise AllInOneError("createFiles can only take repMap or repMaps (or neither), not both") result = [] for fileName in fileContents: filePath = os.path.join(path, fileName) result.append(filePath) for (i, filePathi) in enumerate(addIndex(filePath, self.NJobs)): theFile = open( filePathi, "w" ) fileContentsi = fileContents[ fileName ] if repMaps is not None: repMap = repMaps[fileName] if repMap is not None: repMap.update({"nIndex": str(i)}) fileContentsi = replaceByMap(fileContentsi, repMap) theFile.write( fileContentsi ) theFile.close() return result