예제 #1
0
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)\
    }
예제 #2
0
파일: 20to21.py 프로젝트: ribecks98/Timer
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)
예제 #3
0
 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()
예제 #4
0
 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()
예제 #5
0
    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]
예제 #6
0
    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 = ""