Exemple #1
0
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 setTimes(self,time,previous=True):
     if previous:
         splitnum = self.state.splitnum - 1
     else:
         splitnum = self.state.splitnum
     self.info.configure(text=\
         timeh.timeToString(\
             timeh.difference(
                 time,\
                 self.state.currentComparison.segments[splitnum]\
             ),\
             {\
                 "showSign": True, \
                 "precision": self.config["precision"],\
                 "noPrecisionOnMinute": self.config["noPrecisionOnMinute"]\
             }\
         )\
         +" / "\
         +timeh.timeToString(\
             timeh.difference(\
                 self.state.currentComparison.segments[splitnum],\
                 self.state.comparisons[0].segments[splitnum]\
             ),\
             {\
                 "precision": self.config["precision"],\
                 "noPrecisionOnMinute": self.config["noPrecisionOnMinute"]\
             }\
         )\
     )
     if previous:
         self.info.configure(fg=self.setPreviousColour())
     else:
         self.info.configure(fg=self.setCurrentColour())
Exemple #3
0
 def getString(self,name,index,options={}):
     if (name == "segments"):
         return timeh.timeToString(self.segments[index],options)
     if (name == "totals"):
         return timeh.timeToString(self.totals[index],options)
     if (name == "segmentDiffs"):
         return timeh.timeToString(self.segmentDiffs[index],options)
     if (name == "totalDiffs"):
         return timeh.timeToString(self.totalDiffs[index],options)
     return timeh.blank()
Exemple #4
0
 def setInfo(self, new=False):
     if new:
         time = self.state.currentRun.totals[-1]
     else:
         time = self.state.comparisons[2].totals[-1]
     self.info.configure(text=timeh.timeToString(
         time, {"precision": self.config["precision"]}))
Exemple #5
0
 def formatComparison(self,time):
     return timeh.timeToString(\
         time,\
         {\
             "precision": self.config["main"]["precision"],\
             "noPrecisionOnMinute": self.config["main"]["noPrecisionOnMinute"]\
         }\
    )\
Exemple #6
0
 def formatDiff(self,time):
     return timeh.timeToString(\
         time,\
         {
             "showSign": True,\
             "precision": self.config["diff"]["precision"],\
             "noPrecisionOnMinute": self.config["diff"]["noPrecisionOnMinute"]\
         }\
     ),\
Exemple #7
0
 def setMainTime(self, time):
     self.main.configure(\
         text=timeh.timeToString(\
             time,\
             {\
                 "blankToDash": False,\
                 "precision": self.config["precision"],\
             }\
         )\
     )
Exemple #8
0
 def setInfo(self):
     self.info.configure(text=timeh.timeToString(\
         timeh.difference(\
             self.state.currentComparison.segments[self.state.splitnum],\
             self.state.comparisons[0].segments[self.state.splitnum]\
         ),\
         {\
             "precision": self.config["precision"],\
             "noPrecisionOnMinute": self.config["noPrecisionOnMinute"]\
         }\
     ))
Exemple #9
0
 def formatTime(self, time, ttype):
     if ttype == "main":
         precision = self.config["mainTimer"]["precision"]
     else:
         precision = self.config["segmentTimer"]["precision"]
     return timeh.timeToString(\
             time,\
             {\
                 "blankToDash": False,\
                 "precision": precision
             }\
         )\
Exemple #10
0
 def updateTime(self):
     if self.shouldHide():
         self.hide()
         return
     self.info.configure(\
         text=\
             timeh.timeToString(\
                 self.state.bptList.total,\
                 {\
                     "precision": self.config["precision"]\
                 }\
             )\
     )
Exemple #11
0
 def setLastComparison(self):
     if self.state.runEnded:
         self.rows[-1].setComparison(\
             text=\
                 timeh.timeToString(\
                     self.state.currentRun.totals[-1],\
                     {\
                         "precision": self.config["main"]["precision"],\
                         "noPrecisionOnMinute": self.config["main"]["noPrecisionOnMinute"]\
                     }\
                 )\
         )
     else:
         self.rows[-1].setComparison(\
             text=\
                 timeh.timeToString(\
                     self.state.currentComparison.totals[-1],\
                     {\
                         "precision": self.config["main"]["precision"],\
                         "noPrecisionOnMinute": self.config["main"]["noPrecisionOnMinute"]\
                     }\
                 )\
         )
Exemple #12
0
 def showCurrentSplitDiff(self):
     self.rows[self.splits.activeIndex].setDiff(\
         text=timeh.timeToString(\
             timeh.difference(self.state.totalTime,self.state.currentComparison.totals[self.state.splitnum]),\
             {\
                 "showSign": True,\
                 "precision": self.config["diff"]["precision"],\
                 "noPrecisionOnMinute": self.config["diff"]["noPrecisionOnMinute"]\
             }\
         ),\
         fg=self.getCurrentDiffColour(\
             timeh.difference(self.state.segmentTime,self.state.currentComparison.segments[self.state.splitnum]), \
             timeh.difference(self.state.totalTime,self.state.currentComparison.totals[self.state.splitnum])\
         )\
     )
Exemple #13
0
 def setLastDiff(self):
     if self.state.runEnded:
         self.rows[-1].setDiff(\
             text=\
                 timeh.timeToString(\
                     self.state.currentComparison.totalDiffs[-1],\
                     {\
                         "showSign": True,\
                         "precision": self.config["diff"]["precision"],\
                         "noPrecisionOnMinute": self.config["diff"]["noPrecisionOnMinute"]\
                     }\
                 ),\
             fg=self.findDiffColour(-1)\
         )
     else:
         self.rows[-1].setDiff(text="")
Exemple #14
0
 def frameUpdate(self):
     if self.state.runEnded:
         return
     if self.shouldHide():
         self.hide()
         return
     if not timeh.greater(
             self.state.comparisons[0].segments[self.state.splitnum],
             self.state.segmentTime):
         self.info.configure(
             text=\
                 timeh.timeToString(\
                     timeh.add(\
                         timeh.difference(self.state.segmentTime,self.state.comparisons[0].segments[self.state.splitnum]),\
                         self.state.bptList.total
                     ), \
                     {\
                         "precision": self.config["precision"]\
                     }\
                 )\
         )
Exemple #15
0
    def addSplit(self):
        index = self.leftFrame.currentSplit
        if index < 0:
            index = len(self.rows)
        self.leftFrame.addSplit(index)
        newComparisons = []
        for comparison in self.comparisons:
            comparison.insertNewSegment(index)
            newComparisons.extend([
                '-',
                timeh.timeToString(comparison.totalBests[index],
                                   {"precision": 5})
            ])
        self.rows.insert(
            index, EntryRow.EntryRow(self.rightFrame, self, newComparisons))

        for i in range(index + 1, len(self.rows)):
            self.rows[i].pack_forget()
        for i in range(index, len(self.rows)):
            self.rows[i].pack(side="top", fill="both")
        for i in range(len(self.originals)):
            if self.originals[i] >= index:
                self.originals[i] = self.originals[i] + 1
Exemple #16
0
def replaceComparison(comparison, startRow, startCol, data_ref, options={}):
    for i in range(len(comparison.segments)):
        data_ref[i + startRow][startCol] = timeh.timeToString(
            comparison.segments[i], options)
        data_ref[i + startRow][startCol + 1] = timeh.timeToString(
            comparison.totals[i], options)
Exemple #17
0
 def updateTime(self):
     self.info.configure(
         text=timeh.timeToString(self.state.currentBests.total,
                                 {"precision": self.config["precision"]}))
Exemple #18
0
 def updateGoldTime(self):
     self.goldTime.configure(text=timeh.timeToString(
         self.state.bestTime, {"precision": self.config["precision"]}))
Exemple #19
0
def replaceSumList(sumList, startRow, startCol, data_ref, options={}):
    for i in range(len(sumList.bests)):
        data_ref[i + startRow][startCol] = timeh.timeToString(
            sumList.bests[i], options)
        data_ref[i + startRow][startCol + 1] = timeh.timeToString(
            sumList.totalBests[i], options)
Exemple #20
0
def insertSumList(sumList, startRow, startCol, data_ref, options={}):
    for i in range(len(sumList.bests)):
        data_ref[startRow + i].insert(
            startCol, timeh.timeToString(sumList.totalBests[i], options))
        data_ref[startRow + i].insert(
            startCol, timeh.timeToString(sumList.bests[i], options))
Exemple #21
0
 def updateLabel(self, index, time):
     self.pairs[index][1]["text"] = timeh.timeToString(
         time, {"precision": 2})
Exemple #22
0
 def updateEntry(self, index, time):
     if not index == self.blankIndex:
         self.pairs[index][0].setText(
             timeh.timeToString(time, {"precision": 2}))