def computeVariances(game, category, splits): global varianceList config = rc.getUserConfig() splitNames = splits.getSplitNames(game, category) completeCsv = fileio.csvReadStart(config["baseDir"], game, category, splitNames)[0] completeCsv = [[ completeCsv[i][j] for j in range(1, len(completeCsv[i]), 2) ] for i in range(len(completeCsv))][1:] timeRows = getRows(completeCsv) varianceList = [] for row in timeRows: if not len(row): continue avg = sum(row) / len(row) varList = [(x - avg)**2 for x in row] variance = sum(varList) / len(varList) varianceList.append(variance / avg) sortedRange = sorted(list(range(len(varianceList))), key=sort, reverse=True) return {\ "order": createTable(splitNames,varianceList,range(len(varianceList))),\ "sorted": createTable(splitNames,varianceList,sortedRange)\ }
def main(): config = rc.getUserConfig() splitNames = cate.findAllSplits(config["baseDir"]) names = cate.findNames(splitNames, 0) for game in names: splits_copy = copy(splitNames) cate.restrictCategories(splits_copy, game) categories = cate.findNames(splits_copy, 1) for category in categories: print(game, category) splitArrs = fileio.csvReadStart(config["baseDir"], game, category, []) if len(splitArrs[0]) == 1: continue comparesCsv = splitArrs[1] newCompares = [['To Best Exit', 'Best Exit']] bestExits = DifferenceList.DifferenceList([ findBestExit(i, splitArrs[0]) for i in range(len(comparesCsv) - 1) ]) for i in range(len(comparesCsv) - 1): newCompares.append([ timeh.timeToString(bestExits.segments[i], {"precision": 5}), timeh.timeToString(bestExits.totals[i], {"precision": 5}) ]) insertCsvLines(newCompares, 7, comparesCsv) newCompares = [['Blank Split', 'Blank']] newCompares.extend(['-', '-'] for _ in range(len(comparesCsv) - 1)) insertCsvLines(newCompares, 9, comparesCsv) fileio.writeCSVs(config["baseDir"], game + "tmp", category, None, comparesCsv)
def __init__(self, splits): self.splits = splits self.config = rc.getUserConfig() self.saveFile = self.config["baseDir"] + "/.practiceSave" self.exit = False if os.path.exists(self.saveFile): self.loadSave() else: self.getSession()
def __init__(self): config = rc.getUserConfig() self.indexDict = {} self.splitNames = [] self.splitsFile = config["baseDir"] + "/splitNames.csv" if not os.path.exists(config["baseDir"]): os.mkdir(config["baseDir"]) self.writeSplits() return self.update()
def __init__(self, session): self.config = rc.getUserConfig() self.game = session.game self.category = session.category self.splitnames = session.splitNames self.numSplits = len(self.splitnames) splitArrs = fileio.csvReadStart(self.config["baseDir"], self.game, self.category, self.splitnames) self.completeCsv = splitArrs[0] self.comparesCsv = splitArrs[1]
def __init__(self, master): super().__init__(master) self.config = rc.getUserConfig() self.splits = AllSplitNames.Splits() self.selection = GameSelector.Selector(self, allowInvalid=True) self.selection.pack(side="top", anchor='w') self.selection.followup = self.updateRows self.oldGame = "" self.oldCategory = "" self.editor = MainEditor.Editor(self, dataManip.newComparisons()) self.editor.pack(side="bottom") self.editor.saveButton.options["save"] = self.save self.editor.saveButton.options["valid"] = self.validSave self.localEntries = EntryGrid.EntryGrid(self.editor, dataManip.newComparisons(), self.editor) self.savedGame = "" self.savedCategory = ""