Example #1
0
def checkErrors(inputTests, keepLevel):
    print("Input Tests")
    test.loadTests(fbaKey, mame2003Key, mame2010Key,
                   os.path.join(scriptDir, dataDir), usingSystems)
    print("Output Tests")
    outputTests = test.loadTests(fbaKey, mame2003Key, mame2010Key,
                                 os.path.join(configuration['exportDir']),
                                 usingSystems)
    print("Possible errors")
    for rom in inputTests.keys():

        # new names : bbakraid,snowbro3,fantzn2x,dynwar,rbisland,sf,moomesa,leds2011,batrider,sbomber
        #changedName = ['bkraidu','snowbros3','fantzn2','dw','rainbow','sf1','moo','ledstorm2','batrid','sbomberb']

        romNotInFav = True
        for genre in setDict:
            for name in setDict[genre]:
                if name == rom:
                    romNotInFav = False

        if romNotInFav:
            print("    Orphan rom %s not in favs" % rom)

        # at least higher than keepLevel in one set
        higherThanKeepLevel = True
        for key in inputTests[rom]:
            higherThanKeepLevel = higherThanKeepLevel and inputTests[rom][
                key].status >= int(keepLevel)

        if higherThanKeepLevel:
            if rom not in outputTests:
                print(
                    "    ERROR %s not found in ouput csvs, but in input " %
                    rom, inputTests[rom].keys())
            else:
                for key in inputTests[rom]:
                    if key not in outputTests[rom]:
                        print("    ERROR %s should be exported for %s" %
                              (rom, key))
Example #2
0
    def checkErrors(self, inputTests, keepLevel):
        self.logger.log("Loading Output Tests")
        outputTests = test.loadTests(
            Sorter.setKeys, os.path.join(self.configuration['exportDir']),
            self.usingSystems, self.logger)
        foundErrors = False
        for rom in inputTests.keys():

            # new names : bbakraid,snowbro3,fantzn2x,dynwar,rbisland,sf,moomesa,leds2011,batrider,sbomber
            #changedName = ['bkraidu','snowbros3','fantzn2','dw','rainbow','sf1','moo','ledstorm2','batrid','sbomberb']

            romNotInFav = True
            for genre in self.favorites:
                for name in self.favorites[genre]:
                    if name == rom:
                        romNotInFav = False

            if romNotInFav:
                if foundErrors is False:
                    self.logger.log("Possible errors")
                    foundErrors = True
                self.logger.log("    Orphan rom %s not in favs" % rom)

            # at least higher than keepLevel in one set
            higherThanKeepLevel = True
            for key in inputTests[rom]:
                higherThanKeepLevel = higherThanKeepLevel and inputTests[rom][
                    key].status >= int(keepLevel)

            if higherThanKeepLevel:
                if rom not in outputTests:
                    if not rom.startswith('mp_') and not rom.startswith(
                            'nss_'):
                        if foundErrors is False:
                            self.logger.log("Possible errors")
                            foundErrors = True
                        self.logger.log(
                            "    ERROR " + rom +
                            " not found in ouput csvs, but found in input")
                else:
                    for key in inputTests[rom]:
                        if key not in outputTests[rom]:
                            if foundErrors is False:
                                self.logger.log("Possible errors")
                                foundErrors = True
                            self.logger.log("    ERROR " + rom +
                                            " should be exported for " + key)

        if foundErrors is False:
            self.logger.log("S'all good man")
Example #3
0
 def prepare(self):
     self.usingSystems = self.useSystems(self.configuration)
     # create favorites containing fav games
     self.logger.log('\n<--------- Load Favorites Ini Files --------->')
     self.favorites = fav.loadFavs(self.scriptDir, Sorter.bioses,
                                   self.logger)
     # parse dat files
     self.logger.log('\n<--------- Load FBA & Mame Dats --------->')
     datsDict = dict(
         zip(self.setKeys,
             ['FBAlphav0.2.97.44-temp.dat', 'mame2003.dat', 'mame2010.dat'
              ]))
     self.dats = dat.parseDats(self.scriptDir, self.dataDir, datsDict,
                               self.usingSystems, self.logger)
     # parse test files
     self.logger.log('\n<--------- Load Tests Files --------->')
     self.allTests = test.loadTests(
         Sorter.setKeys, os.path.join(self.scriptDir, self.dataDir),
         self.usingSystems, self.logger)
Example #4
0
 def prepare(self):
     self.usingSystems = self.useSystems(self.configuration)
     # create favorites containing fav games
     self.logger.log('\n<--------- Load Favorites Ini Files --------->')
     self.favorites = fav.loadFavs(self.scriptDir, Sorter.bigSetFile,
                                   self.bioses, self.logger)
     # parse dat files
     self.logger.log('\n<--------- Load FBNeo & Mame Dats --------->')
     datsDict = dict(
         zip(self.setKeys, [
             self.fbneoKey + '.dat', self.mame2003Key + '.dat',
             self.mame2003plusKey + '.dat', self.mame2010Key + '.dat'
         ]))
     self.dats = dat.parseDats(self.scriptDir, utils.dataDir, datsDict,
                               self.usingSystems, self.logger)
     # parse test files
     self.logger.log('\n<--------- Load Tests Files --------->')
     self.allTests = test.loadTests(
         Sorter.setKeys, os.path.join(self.scriptDir, utils.dataDir),
         self.usingSystems, self.logger)
Example #5
0
 def __prepare(self):
     self.usingSystems = self.__useSystems(self.configuration)
     # create favorites containing fav games
     self.logger.log('\n<--------- Load Favorites Ini Files --------->')
     self.favorites = fav.loadFavs(self.scriptDir, Sorter.bigSetFile,
                                   self.logger)
     # parse dat files
     self.logger.log('\n<--------- Load FBNeo & Mame Dats --------->')
     datsDict = dict(
         zip(
             self.setKeys[self.hardware],
             list(map(lambda key: key + '.dat',
                      self.setKeys[self.hardware]))))
     self.dats = dat.parseDats(self.scriptDir, utils.dataDir, datsDict,
                               self.usingSystems, self.logger)
     # parse test files
     self.logger.log('\n<--------- Load Tests Files --------->')
     self.allTests = test.loadTests(
         Sorter.setKeys[self.hardware],
         os.path.join(self.scriptDir, utils.dataDir, self.hardware),
         self.usingSystems, self.logger)
Example #6
0
    def __checkErrors(self, inputTests, keepLevel):
        self.logger.log("Loading Output Tests")
        outputTests = test.loadTests(
            Sorter.setKeys[self.hardware],
            os.path.join(self.configuration['exportDir']), self.usingSystems,
            self.logger)
        foundErrors = False
        for rom in inputTests.keys():

            romNotInFav = True
            multiName = []
            flatFavList = []
            for genre in self.favorites:
                flatFavList.extend(self.favorites[genre])

            for name in flatFavList:
                if name == rom:
                    romNotInFav = False
                    multiName = []
                    break
                elif (rom + ';') in name or (';' + rom) in name:
                    romNotInFav = False
                    multiName = name.split(';')
                    break

            if romNotInFav:
                if foundErrors is False:
                    self.logger.log("Possible errors", self.logger.ERROR)
                    foundErrors = True
                self.logger.log("    Orphan rom %s not in favs" % rom,
                                self.logger.ERROR)

            # at least higher than keepLevel in one set
            higherThanKeepLevel = True
            for key in inputTests[rom]:
                higherThanKeepLevel = higherThanKeepLevel and inputTests[rom][
                    key].status >= int(keepLevel)

            if higherThanKeepLevel:
                if rom not in outputTests:
                    inError = True
                    # Check if the rom is multiname or not
                    if len(multiName) > 0:
                        for name in multiName:
                            inError = name not in outputTests and inError
                    if inError:
                        if foundErrors is False:
                            self.logger.log("Possible errors",
                                            self.logger.WARNING)
                            foundErrors = True
                        self.logger.log(
                            "    ERROR " + rom +
                            " not found in ouput csvs, but found in input",
                            self.logger.ERROR)
                else:
                    for key in inputTests[rom]:
                        if key not in outputTests[rom]:
                            if foundErrors is False:
                                self.logger.log("Possible errors",
                                                self.logger.WARNING)
                                foundErrors = True
                            self.logger.log(
                                "    ERROR " + rom +
                                " should be exported for " + key,
                                self.logger.WARNING)

        if foundErrors is False:
            self.logger.log("\nS'all good man", self.logger.SUCCESS)
Example #7
0
    configuration = conf.loadConf(os.path.join(scriptDir, confFile))
    input(
        'Your outputDir is ' + configuration['exportDir'] +
        ".\nIts content will be erased.\nIf you don't want to proceed, close this window, else press enter"
    )
    print('\n<--------- Load Configuration --------->')
    printDict(configuration)
    usingSystems = useSystems(configuration)
    # create setDict containing fav games
    print('\n<--------- Load Favorites Ini Files --------->')
    fav.loadFavs(scriptDir, bioses, setDict)
    # parse dat files
    print('\n<--------- Load FBA & Mame Dats --------->')
    dats = dat.parseDats(
        scriptDir, dataDir, [fbaKey, mame2003Key, mame2010Key],
        ['FBAlphav0.2.97.43.dat', 'mame2003.dat', 'mame2010.dat'],
        usingSystems)
    # parse test files
    print('\n<--------- Load Tests Files --------->')
    allTests = test.loadTests(fbaKey, mame2003Key, mame2010Key,
                              os.path.join(scriptDir, dataDir), usingSystems)
    # create bestarcade romsets
    print('\n<--------- Create Sets --------->')
    createSets(allTests, dats)
    print("\n<--------- Detecting errors ----------->")
    checkErrors(allTests, configuration['keepLevel'])
    input('<--------- Process finished ----------->')

# TODOS
# missing doctype on generated dat  ?