コード例 #1
0
    def buildListOfBadFiles(self):
        '''fills the list of bad files from the IntegrityCheck log.

        When the integrity check file is not available,
        files are considered as good.'''
        mask = "IntegrityCheck"

        self.bad_files = {}
        self.good_files = []

        file_mask = castortools.matchingFiles(self.castorDir,
                                              '^%s_.*\.txt$' % mask)
        if file_mask:
            # here to avoid circular dependency
            from edmIntegrityCheck import PublishToFileSystem
            p = PublishToFileSystem(mask)
            report = p.get(self.castorDir)
            if report is not None and report:
                self.maskExists = True
                self.report = report
                dup = report.get('ValidDuplicates', {})
                for name, status in report['Files'].iteritems():
                    # print name, status
                    if not status[0]:
                        self.bad_files[name] = 'MarkedBad'
                    elif name in dup:
                        self.bad_files[name] = 'ValidDup'
                    else:
                        self.good_files.append(name)
        else:
            raise IntegrityCheckError(
                "ERROR: IntegrityCheck log file IntegrityCheck_XXXXXXXXXX.txt not found"
            )
コード例 #2
0
ファイル: dataset.py プロジェクト: Andrej-CMS/cmssw
    def buildListOfBadFiles(self):
        '''fills the list of bad files from the IntegrityCheck log.

        When the integrity check file is not available,
        files are considered as good.'''
        mask = "IntegrityCheck"
           
        self.bad_files = {}
        self.good_files = []

        file_mask = castortools.matchingFiles(self.castorDir, '^%s_.*\.txt$' % mask)
        if file_mask:
            # here to avoid circular dependency
            from edmIntegrityCheck import PublishToFileSystem
            p = PublishToFileSystem(mask)
            report = p.get(self.castorDir)
            if report is not None and report:
                self.maskExists = True
                self.report = report
                dup = report.get('ValidDuplicates',{})
                for name, status in report['Files'].iteritems():
                    # print name, status
                    if not status[0]:
                        self.bad_files[name] = 'MarkedBad'
                    elif name in dup:
                        self.bad_files[name] = 'ValidDup'
                    else:
                        self.good_files.append( name )
        else:
            raise IntegrityCheckError( "ERROR: IntegrityCheck log file IntegrityCheck_XXXXXXXXXX.txt not found" )
コード例 #3
0
ファイル: edmIntegrityCheck.py プロジェクト: jkunkle/cmssw
 def get(self, dir):
     """Finds the lastest file and reads it"""
     reg = '^%s_.*\.txt$' % self.parent
     files = castortools.matchingFiles(dir, reg)
     files = sorted([ (os.path.basename(f), f) for f in files])
     if not files:
         return None
     return self.read(files[-1][1])
コード例 #4
0
 def get(self, dir):
     """Finds the lastest file and reads it"""
     reg = '^%s_.*\.txt$' % self.parent
     files = castortools.matchingFiles(dir, reg)
     files = sorted([(os.path.basename(f), f) for f in files])
     if not files:
         return None
     return self.read(files[-1][1])
コード例 #5
0
    def run(self, input):
        #skip for DBS
        if self.user == 'CMS':
            return {'MaskPresent':True,'Report':'Files taken from DBS'}
        
        dir = input['FindOnCastor']['Directory']
        mask = "IntegrityCheck"
        file_mask = []  

        report = None
        if (hasattr(self.options,'check') and self.options.check) or not hasattr(self.options,'check'):
            file_mask = castortools.matchingFiles(dir, '^%s_.*\.txt$' % mask)

            if file_mask:
                p = PublishToFileSystem(mask)
                report = p.get(dir)
        return {'MaskPresent':report is not None,'Report':report}
コード例 #6
0
    def run(self, input):
        #skip for DBS
        if self.user == 'CMS':
            return {'MaskPresent':True,'Report':'Files taken from DBS'}
        
        dir = input['FindOnCastor']['Directory']
        mask = "IntegrityCheck"
        file_mask = []  

        report = None
        if (hasattr(self.options,'check') and self.options.check) or not hasattr(self.options,'check'):
            file_mask = castortools.matchingFiles(dir, '^%s_.*\.txt$' % mask)

            if file_mask:
                p = PublishToFileSystem(mask)
                report = p.get(dir)
        return {'MaskPresent':report is not None,'Report':report}
コード例 #7
0
 def buildListOfFiles(self, pattern='.*root'):
     '''fills list of files, taking all root files matching the pattern in the castor dir'''
     self.files = castortools.matchingFiles(self.castorDir, pattern)
コード例 #8
0
 def buildListOfFiles(self, pattern='.*root'):
     self.files = castortools.matchingFiles(self.castorDir, pattern)
コード例 #9
0
ファイル: dataset.py プロジェクト: Andrej-CMS/cmssw
 def buildListOfFiles(self, pattern='.*root'):
     '''fills list of files, taking all root files matching the pattern in the castor dir'''
     self.files = castortools.matchingFiles( self.castorDir, pattern )
コード例 #10
0
ファイル: dataset.py プロジェクト: Andrej-CMS/cmssw
 def buildListOfFiles(self, pattern='.*root'):
     self.files = castortools.matchingFiles( self.castorDir, pattern )