def processTournament (tournamentDir): ''' Iterates through game logs found in tournamentDir, extracting data from each. ''' for statelog in ti.stateLogIter(tournamentDir): print(statelog) extractData(str(statelog))
def datafileIter (tournamentDir, extractorClass, dataPrefix, extractorOptions='', logtype='sim', force=False, logtoolDir = "../logtool-examples/"): ''' Iterates through game logs found in tournamentDir, extracting production and consumption data ''' return (extractData(str(statelog), extractorClass, dataPrefix, extractorOptions, logtype, force, logtoolDir) for statelog in ti.stateLogIter(tournamentDir, sessionType=logtype))
def datafileIter(tournamentDir, extractorClass, dataPrefix, extractorOptions='', logtype='sim', force=False, logtoolDir="../logtool-examples/"): ''' Iterates through game logs found in tournamentDir, extracting production and consumption data ''' return ( extractData(str(statelog), extractorClass, dataPrefix, extractorOptions, logtype, force, logtoolDir) for statelog in ti.stateLogIter(tournamentDir, sessionType=logtype))
def extractData (source): ''' Extracts data from a single trace log, or from a directory of compressed game logs using TournamentIterator ''' if os.path.isdir(source): # in this case, we use the iterator for trace in ti.traceLogIter(source): traceName = str(trace) dataName = 'data/pp-data.csv' m = gameRe.search(traceName) if m: dataName = 'data/pp-data-{}.csv'.format(m.group(1)) else: print('Could not extract game ID from {}'.format(traceName)) extractFile(traceName, dataName) else: extractFile(source, source + '-pp.csv')