def getActiveLumiFilter(self, lumifilter, jobNum = None): getLR = lambda x: str.join(',', map(lambda x: '"%s"' % x, formatLumi(x))) return getLR(lumifilter) # TODO: Validate subset selection try: splitInfo = self.dataSplitter.getSplitInfo(jobNum) runTag = splitInfo[DataSplitter.MetadataHeader].index("Runs") runList = utils.listMapReduce(lambda m: m[runTag], splitInfo[DataSplitter.Metadata]) return getLR(filterLumiFilter(runList, lumifilter)) except: return getLR(lumifilter)
def _getJobsOutput(self, ids): if not len(ids): raise StopIteration activity = utils.ActivityLog('retrieving job outputs') for wmsId, jobNum in ids: path = self._getSandbox(wmsId) if path == None: yield (jobNum, None) continue # Cleanup sandbox outFiles = utils.listMapReduce(lambda pat: glob.glob(os.path.join(path, pat)), self.outputFiles) utils.removeFiles(filter(lambda x: x not in outFiles, map(lambda fn: os.path.join(path, fn), os.listdir(path)))) yield (jobNum, path) del activity
def getFiles(self): return utils.listMapReduce(lambda m: list(m.getFiles()), self.submodules, self.getScript())
def getActiveKeys(kUser, kGuard, gIdx): return kUser + QM(kGuard, kGuard, utils.listMapReduce(lambda x: x.getGuards()[gIdx], self.scanner))