예제 #1
0
파일: Grouper.py 프로젝트: neosky2142/PyMR
    def globalGrouper(listSaveState,listGrouperNum,listLastCallNum,listOfDirectory,globalGrouperDirectory):
        # We read all grouper's last savestates, and put all nodefilename into a global nodefile.
        globalDictListNodeFile = dict()
        globalDictFromKeyToGlobalNodeFile = dict()
        for i in range(0,len(listSaveState)):            
            saveStateName = listSaveState.pop()
            grouperNum = listGrouperNum.pop()
            grouperLastCallNum = listLastCallNum.pop()
            directory = listOfDirectory.pop()            
            globalDictListNodeFile = Grouper.mergeDictionaries(globalDictListNodeFile,Grouper.readSaveStateIntoDictionnary(saveStateName.rstrip('\n'),grouperNum,grouperLastCallNum,directory))                                    

        counter = 0;
        for key, listOfValues in globalDictListNodeFile.iteritems():
            counter = counter + 1;
            globalNodeFileName = Grouper.genericGlobalNodeFileName(counter,globalGrouperDirectory)
            globalDictFromKeyToGlobalNodeFile[key] = globalNodeFileName
            open(globalNodeFileName, 'w+').close(); # create empty file
            for nodeFileName in listOfValues:                
                FileHelper.appendFileInFile(nodeFileName,globalNodeFileName)
        return globalDictFromKeyToGlobalNodeFile